From b99bd08d8b9246a5120ace7c7739d5d55e9d9b9a Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 16 Dec 2023 19:14:26 -0500 Subject: [PATCH 1/4] Add github action to codespell master on push and PRs --- .github/workflows/codespell.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 00000000..7373affc --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,22 @@ +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Codespell + uses: codespell-project/actions-codespell@v2 From 7e8b0722650a8a19bdce04255090c10a6b556c55 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 16 Dec 2023 19:14:26 -0500 Subject: [PATCH 2/4] Add rudimentary codespell config --- .codespellrc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .codespellrc diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 00000000..002de4d7 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,6 @@ +[codespell] +skip = .git,*.pdf,*.svg,go.sum,*.css,.codespellrc +check-hidden = true +# guessed lines with German, and some specific variables, regexes +ignore-regex = .*( die |ΓΌ).*|\b(upToDate|AFE|DOUT)\b|.*irt\|inpu\|con.* +ignore-words-list = busses,parm From 73bcac7b4ddefd9076ea1aec61b10fa7c4c3cd3f Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 16 Dec 2023 19:20:51 -0500 Subject: [PATCH 3/4] [DATALAD RUNCMD] run codespell throughout but ignore fail === Do not change lines below === { "chain": [], "cmd": "codespell -w || :", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- Docs/CTbasics.rst | 6 +++--- Docs/Emoncms.rst | 2 +- Docs/dataVisualization.rst | 2 +- Docs/dotlocal.rst | 2 +- Docs/graphPlus.rst | 12 ++++++------ Docs/integrators.rst | 2 +- Docs/query.rst | 8 ++++---- Docs/split-phase.rst | 2 +- Docs/threePhase.rst | 2 +- Docs/troubleshooting.rst | 4 ++-- Docs/uploaders.rst | 2 +- Firmware/IotaWatt/CSVquery.h | 4 ++-- Firmware/IotaWatt/GetFeedData.cpp | 2 +- Firmware/IotaWatt/IotaInputChannel.h | 2 +- Firmware/IotaWatt/IotaScript.h | 2 +- Firmware/IotaWatt/IotaWatt.h | 6 +++--- Firmware/IotaWatt/Loop.cpp | 4 ++-- Firmware/IotaWatt/RTC.cpp | 2 +- Firmware/IotaWatt/Setup.cpp | 2 +- Firmware/IotaWatt/common.cpp | 10 +++++----- Firmware/IotaWatt/dataLog.cpp | 2 +- Firmware/IotaWatt/samplePower.cpp | 2 +- Firmware/IotaWatt/setConfig.cpp | 2 +- Firmware/IotaWatt/timeServices.cpp | 2 +- Firmware/IotaWatt/timeServices.h | 6 +++--- Firmware/IotaWatt/updater.cpp | 4 ++-- Firmware/IotaWatt/utilities.cpp | 2 +- Firmware/IotaWatt/webServer.cpp | 8 ++++---- Hardware/IotaWatt4.8.brd | 4 ++-- Hardware/IotaWatt4.8.sch | 4 ++-- Hardware/IotaWatt5.0.brd | 4 ++-- Hardware/IotaWatt5.0.sch | 4 ++-- Hardware/LICENSE | 2 +- Hardware/VT_adapter.brd | 2 +- Hardware/VT_adapter.sch | 2 +- SD/index.htm | 4 ++-- 36 files changed, 66 insertions(+), 66 deletions(-) diff --git a/Docs/CTbasics.rst b/Docs/CTbasics.rst index 93936fba..a31600b0 100644 --- a/Docs/CTbasics.rst +++ b/Docs/CTbasics.rst @@ -95,7 +95,7 @@ CTs are manufactured to produce a secondary current that is in phase with the primary current when installed with a particular orientation. In single and split-phase installations it is important to observe polarity in certain situations. In -three-phase installations, it is imperitive that a polarity +three-phase installations, it is imperative that a polarity convention be observed. IoTaWatt will accept many different CTs from different manufacturers. @@ -197,7 +197,7 @@ systems in the next chapter. As explained above, split-phase systems can provide high-voltage for large appliances. These circuits are connected -to two adjascent CTs that are on different legs. The usual +to two adjacent CTs that are on different legs. The usual convention is to use RED and BLACK wires or, as explained below, BLACK and WHITE for *pure* 240V circuits. @@ -221,7 +221,7 @@ correct power and amperage. ^^^^^^^^^^^^^^^^^ Like the *pure* 240V circuits above, these circuits use two -adjascent circuit-breakers, but also have a neutral conductor. +adjacent circuit-breakers, but also have a neutral conductor. They usually have RED and BLACK conductors on the circuit-breaker and a white neutral conductor that connects to the neutral bussbar. Typical appliances are ranges, ovens, and clothes-dryers. Circuits diff --git a/Docs/Emoncms.rst b/Docs/Emoncms.rst index 9986bef7..280e58e6 100644 --- a/Docs/Emoncms.rst +++ b/Docs/Emoncms.rst @@ -8,7 +8,7 @@ Setup Emoncms Emoncms is an open-source system that stores time-series data and has multiple reporting apps developed by the authors as well as apps contributed by users in the open community. -The graph application used locally by IoTaWatt is a derivitive +The graph application used locally by IoTaWatt is a derivative of that effort. For a nominal fee you can use the managed diff --git a/Docs/dataVisualization.rst b/Docs/dataVisualization.rst index cf3bda54..3a10b0fe 100644 --- a/Docs/dataVisualization.rst +++ b/Docs/dataVisualization.rst @@ -43,4 +43,4 @@ whose capabilities are adequate for your needs. It remains as a menu pick under Data tab. The new Graphic Viewer is a superset of the functions of the Original Graph, so -this feature should be considered depricated and may be removed in a future release. +this feature should be considered deprecated and may be removed in a future release. diff --git a/Docs/dotlocal.rst b/Docs/dotlocal.rst index 80addba0..44525dad 100644 --- a/Docs/dotlocal.rst +++ b/Docs/dotlocal.rst @@ -29,7 +29,7 @@ if there is anyone out there that called iotawatt. At startup, IoTaWatt creates a process that listens for those datagrams. When it hears it's name, it responds to the sender saying "I'm iotawatt -and my IP address is xx.xx.xx.xx". The requestor makes a note of +and my IP address is xx.xx.xx.xx". The requester makes a note of this address and uses it to send subsequent transactions to iotawatt.local. How does that *not* work? diff --git a/Docs/graphPlus.rst b/Docs/graphPlus.rst index 71a10a4b..015c2b88 100644 --- a/Docs/graphPlus.rst +++ b/Docs/graphPlus.rst @@ -79,7 +79,7 @@ that the color is blue under the Watts unit, while it is green under the Wh unit indicating they are different traces. One final note about the sidebar. It will disappear when the screen size gets to be -too narrow to accomodate it. When that happens, it is replaced by a list icon at the +too narrow to accommodate it. When that happens, it is replaced by a list icon at the top left of the main screen. Pressing that will overlay the main body with the selection sidebar. An X on the sidebar is used to hide it again. @@ -198,7 +198,7 @@ You will know it is auto refresh mode because the Refresh button will change to revert to the manual |refreshImage| button. The Refresh/Freeze state is retained when saving and subsequently restoring graphs. -This feature is useful when loading a saved graph as an embeded window where there are +This feature is useful when loading a saved graph as an embedded window where there are no controls, allowing an auto refresh graph can be displayed in a frame. .. |refreshImage| image:: pics/graphPlus/refreshButton.png @@ -258,7 +258,7 @@ an immediate effect on the graph. There is no Save or Refresh required. Removes the trace from the graph and deselects from the source list. :Color: - Selects an overide color. + Selects an override color. :Line/Bar: Toggle between line or bar chart for this trace. @@ -284,7 +284,7 @@ an immediate effect on the graph. There is no Save or Refresh required. sometimes increasing the precision provides a more detailed representation. :Scale: - The values returned in the query will be muliplied by this scale factor. + The values returned in the query will be multiplied by this scale factor. This will affect the values in the CSV table as well. @@ -338,10 +338,10 @@ Yaxes Range Table This list is used to modify the Yaxis range for each unit. The default is "auto", which works well to represent the full range of the data, however the Min and/or Max -can be specified here to overide the auto default. Once changed, the new limit will remain +can be specified here to override the auto default. Once changed, the new limit will remain in effect until one of these things happens: -* The overide value is removed. +* The override value is removed. * A saved graph is loaded. * The reset button is clicked. diff --git a/Docs/integrators.rst b/Docs/integrators.rst index 219a0d06..2bd24667 100644 --- a/Docs/integrators.rst +++ b/Docs/integrators.rst @@ -67,7 +67,7 @@ You can click |edit| on existing integrations to change or delete them. From here, the process is identical to adding any other output. For a refresher, see `Adding a new Output `_ -Integrations must be uniquely named using alpha-numeric characters and the +Integrations must be uniquely named using alphanumeric characters and the underscore (_) character. The Script that is specified will be integrated to sum the positive and negative components. diff --git a/Docs/query.rst b/Docs/query.rst index a3b1a58c..4707351c 100644 --- a/Docs/query.rst +++ b/Docs/query.rst @@ -70,7 +70,7 @@ select=[*series1* [, *series2* ...]] * .volts (default) * .hz (frequency). - The .d modifier overides the default number of decimal digits. + The .d modifier overrides the default number of decimal digits. [ **.watts** | .amps | .wh | .va | .var | .varh | .pf] [.d] A power input or output. A unit modifier can be used to specify: @@ -82,7 +82,7 @@ select=[*series1* [, *series2* ...]] * .varh (volt-ampere-reactive hours) * .pf (power factor) - The .d modifier overides the default number of decimal digits. + The .d modifier overrides the default number of decimal digits. An example might be: `select=[time.local.unix,mains.watts.d0,solar.wh.d1]` @@ -118,7 +118,7 @@ select=[*series1* [, *series2* ...]] For most units, this will result in the average value over the entire period. For Wh, it will result in the total Wh for the entire period. - To overide, specify a time unit preceeded by a multiplier, as in: + To override, specify a time unit preceeded by a multiplier, as in: * 10s (ten seconds) * 5m (five minutes) @@ -175,7 +175,7 @@ select=[*series1* [, *series2* ...]] &limit={**n** | none } ...................... - Optional parameter overides the default output limit. + Optional parameter overrides the default output limit. The default is 1,000 lines. :n: diff --git a/Docs/split-phase.rst b/Docs/split-phase.rst index aa529e11..4cf45a1e 100644 --- a/Docs/split-phase.rst +++ b/Docs/split-phase.rst @@ -67,7 +67,7 @@ There are three possibilities: .... These circuits are typically larger appliances like Hot-Water, Range, Pumps, Electric Heat, Dryers, Heat-pumps, sub-panels, - and Air-conditioners. They use two circuit breakers in adjascent + and Air-conditioners. They use two circuit breakers in adjacent rows, so one of the breakers is on phase A and the other is on phase B. As explained in the `CT Basics `_ section, 240V diff --git a/Docs/threePhase.rst b/Docs/threePhase.rst index b2ef226c..bc991975 100644 --- a/Docs/threePhase.rst +++ b/Docs/threePhase.rst @@ -10,7 +10,7 @@ for three-phase monitoring, particularly in three phase countries like Australia and Germany. For home energy monitoring, the *derived reference* method has been overwhelmingly popular. -This chapter explains two methods for measuring a so calld "four wire" +This chapter explains two methods for measuring a so called "four wire" or "wye" system, by far the most common implementation of three-phase. IoTaWatt can also be used with "three wire" or "delta" systems using different methods. diff --git a/Docs/troubleshooting.rst b/Docs/troubleshooting.rst index f80c3e34..35ce5b47 100644 --- a/Docs/troubleshooting.rst +++ b/Docs/troubleshooting.rst @@ -5,8 +5,8 @@ Troubleshooting Led Indicator ------------- -The IotaWatt has a bi-color external LED indicator that is usefull in -determining the current state and for explicitely indicating +The IotaWatt has a bi-color external LED indicator that is useful in +determining the current state and for explicitly indicating serious problems. Whenever there is a question about whether something may be wrong, it is important to look at the LED indicator. The LED can blink RED (R) or GREEN (G). diff --git a/Docs/uploaders.rst b/Docs/uploaders.rst index 81ecc27b..57b7284b 100644 --- a/Docs/uploaders.rst +++ b/Docs/uploaders.rst @@ -68,7 +68,7 @@ similar systems within close proximity allows both short and longer term performance issues to be identified. While pvoutput is primarily focused on monitoring energy generation, -it also provides equally capabable facilities to upload and monitor +it also provides equally capable facilities to upload and monitor energy consumption data from various energy monitoring devices. Both solar generation and energy consumption data can be diff --git a/Firmware/IotaWatt/CSVquery.h b/Firmware/IotaWatt/CSVquery.h index cd4e9e86..800eb3de 100644 --- a/Firmware/IotaWatt/CSVquery.h +++ b/Firmware/IotaWatt/CSVquery.h @@ -50,7 +50,7 @@ class CSVquery { uint32_t _begin; // Beginning time - UTC uint32_t _end; // Ending time - UTC int32_t _limit; // Output limit in lines, -1 is nolimit - uint32_t _groupMult; // Group unit muliplier as in 7d + uint32_t _groupMult; // Group unit multiplier as in 7d tUnits _groupUnits; // Basic group time unit tformat _timeFormat; // Time output format format _format; // Output format (Json or CSV) @@ -74,7 +74,7 @@ class CSVquery { units unit; // Units to produce tformat timeFormat; // Format of Time column }; - int8_t decimals; // Overide decimal positions + int8_t decimals; // Override decimal positions bool timeLocal; // output local time if source=='T' bool delta; // Output change in value; Script* script; // -> Script diff --git a/Firmware/IotaWatt/GetFeedData.cpp b/Firmware/IotaWatt/GetFeedData.cpp index e72d1917..f981bbf4 100644 --- a/Firmware/IotaWatt/GetFeedData.cpp +++ b/Firmware/IotaWatt/GetFeedData.cpp @@ -4,7 +4,7 @@ * GetFeedData SERVICE. * * The web server does a pretty good job of handling file downloads and uploads asynchronously, - * but assumes that any callbacks to new handlers get the job completely done befor returning. + * but assumes that any callbacks to new handlers get the job completely done before returning. * The GET /feed/data/ request takes a long time and generates a lot of data so it needs to * run as a SERVICE so that sampling can continue while it works on providing the data. * To accomplish that without modifying ESP8266WebServer, we schedule this SERVICE and diff --git a/Firmware/IotaWatt/IotaInputChannel.h b/Firmware/IotaWatt/IotaInputChannel.h index 815f7391..03697eef 100644 --- a/Firmware/IotaWatt/IotaInputChannel.h +++ b/Firmware/IotaWatt/IotaInputChannel.h @@ -42,7 +42,7 @@ class IotaInputChannel { float _calibration; // Calibration factor float _phase; // Phase correction in degrees (+lead, - lag); float _vphase; // Phase offset for 3-phase voltage reference - float _vmult; // Voltage multiplier (overides _double) + float _vmult; // Voltage multiplier (overrides _double) float _lastPhase; int16_t* _p50; // -> 50Hz phase correction array int16_t* _p60; // -> 60Hz phase correction array diff --git a/Firmware/IotaWatt/IotaScript.h b/Firmware/IotaWatt/IotaScript.h index ace24ea9..1bed08b3 100644 --- a/Firmware/IotaWatt/IotaScript.h +++ b/Firmware/IotaWatt/IotaScript.h @@ -70,7 +70,7 @@ class Script { Script* next(); // -> next Script in set double run(IotaLogRecord* oldRec, IotaLogRecord* newRec); // Run this Script - double run(IotaLogRecord* oldRec, IotaLogRecord* newRec, units); // Run w/overide units + double run(IotaLogRecord* oldRec, IotaLogRecord* newRec, units); // Run w/override units double run(IotaLogRecord* oldRec, IotaLogRecord* newRec, const char* overideUnits); void print(); diff --git a/Firmware/IotaWatt/IotaWatt.h b/Firmware/IotaWatt/IotaWatt.h index d0b3ad7f..804f5f33 100644 --- a/Firmware/IotaWatt/IotaWatt.h +++ b/Firmware/IotaWatt/IotaWatt.h @@ -187,7 +187,7 @@ struct EEprom { #define T_RTCWDT 24 // Dead man pedal service #define T_CSVquery 25 // CSVquery #define T_xurl 26 // xurl -#define T_utility 27 // Miscelaneous utilities +#define T_utility 27 // Miscellaneous utilities #define T_EXPORTLOG 28 // Export log #define T_influx2 29 // influxDB_v2_uploader #define T_influx2Config 30 // influx2 configuration @@ -262,7 +262,7 @@ extern int16_t* masterPhaseArray; // Single array containing all ind // handlers if the statistics are used. extern float frequency; // Split the difference to start -extern float configFrequency; // Frequency at last config (phase corrrection basis) +extern float configFrequency; // Frequency at last config (phase correction basis) extern float samplesPerCycle; // Here as well extern float cycleSampleRate; extern int16_t cycleSamples; @@ -289,7 +289,7 @@ extern bool getNewConfig; // Set to update config after running #define HTTPrequestMax 1 // Maximum number of concurrent HTTP requests extern int16_t HTTPrequestFree; // Request semaphore extern uint32_t HTTPrequestStart[HTTPrequestMax]; // request start time tokens -extern uint16_t HTTPrequestId[HTTPrequestMax]; // Module ID of requestor +extern uint16_t HTTPrequestId[HTTPrequestMax]; // Module ID of requester extern uint32_t HTTPlock; // start time token of locking request // ************************** HTTPS proxy host ****************************************** diff --git a/Firmware/IotaWatt/Loop.cpp b/Firmware/IotaWatt/Loop.cpp index 641a0470..0af588d0 100644 --- a/Firmware/IotaWatt/Loop.cpp +++ b/Firmware/IotaWatt/Loop.cpp @@ -142,7 +142,7 @@ void loop() * * Other activities are organized as Services that are scheduled and dispatched in Loop during the half-cycle * downtime. This mechanism schedules at a resolution of one millisecond, and dispatches during the optimal - * time period between AC cycles. To preserve context and synchonization, each Service is coded as a + * time period between AC cycles. To preserve context and synchronization, each Service is coded as a * state-machine. They must be well behaved and should try to run for less than a few milliseconds and/or * relinquish at Bingo time. That isn't always possible and doesn't do any real harm if they run over * occasionally as it just reduces the sampling frequency a bit. @@ -153,7 +153,7 @@ void loop() * 2-1000 value is milliseconds to delay before redispatch. * > 1000 value is UNIXtime of requested redispatch. * So if a service just wants to relinquish in deference to sampling but is not finished with its - * business, just reeturn 1 to be redispatched at the next available opportunity. + * business, just return 1 to be redispatched at the next available opportunity. * * The schedule itself is kept as an ordered list of control blocks in ascending order of time + priority * called serviceQueue. Loop invokes the service with the highest priority that is dispatchable. diff --git a/Firmware/IotaWatt/RTC.cpp b/Firmware/IotaWatt/RTC.cpp index e553f6a0..033dfcc7 100644 --- a/Firmware/IotaWatt/RTC.cpp +++ b/Firmware/IotaWatt/RTC.cpp @@ -315,7 +315,7 @@ bool DateTime::isValid() const { above specifiers are left as-is. __Example__: The format "DDD, DD MMM YYYY hh:mm:ss" generates an output of the form "Thu, 16 Apr 2020 18:34:56. - @see The `timestamp()` method provides similar functionnality, but it + @see The `timestamp()` method provides similar functionality, but it returns a `String` object and supports a limited choice of predefined formats. @param[in,out] buffer Array of `char` for holding the format description diff --git a/Firmware/IotaWatt/Setup.cpp b/Firmware/IotaWatt/Setup.cpp index 61d5a6b4..1ba3be52 100644 --- a/Firmware/IotaWatt/Setup.cpp +++ b/Firmware/IotaWatt/Setup.cpp @@ -144,7 +144,7 @@ if(spiffsBegin()){ log("SPIFFS mounted."); } else { if(spiffsFormat()){ - log("SPIFFS formated"); + log("SPIFFS formatted"); if(spiffsBegin()){ log("SPIFFS mounted."); } diff --git a/Firmware/IotaWatt/common.cpp b/Firmware/IotaWatt/common.cpp index b68b58f2..b1d9d795 100644 --- a/Firmware/IotaWatt/common.cpp +++ b/Firmware/IotaWatt/common.cpp @@ -35,7 +35,7 @@ * 04/21/17 2.01.01 Add polyphase correction with single VT * 05/06/17 2.01.02 Rework samplePower for better phase correction * 05/28/17 2.01.03 Add automatic update and rework WiFiManager use - * 06/04/17 2.01.04 Miscelaneous cleanup + * 06/04/17 2.01.04 Miscellaneous cleanup * 06/26/17 2.01.05 Ongoing development * 07/09/17 2.02.00 Version 4 hardware support * 07/12/17 2.02.01 Fix sample power, enhance graph @@ -73,7 +73,7 @@ * 03/29/18 02_03_03 Units computation in calculator, heap management improvements * 03/30/18 02_03_04 Punchlist, fix memory loak in getConfig, build server payload at bulk maturation * 04/15/18 02_03_05 Rework influxDB support with variables and double buffering - * 05/16/18 02_03_06 Reimpliment messagelog, upgrade to 2.4.1 core and lwip 2 + * 05/16/18 02_03_06 Reimplement messagelog, upgrade to 2.4.1 core and lwip 2 * 06/03/18 02_03_07 Add web server authorization, temp time-wait fix * 06/20/18 02_03_08 Use lwip 2 "high bandwidth", misc fixes * 07/11/18 02_03_09 Lastest asyngHTTPrequest, Issue#166, improve auth&trace @@ -100,11 +100,11 @@ * 02/12/20 02_05_04 Update to core 2.6.3, Fix URL handling influx, fix heap requirement issues during config start and update. * 02/27/20 02_05_05 Fix problem creating datalogs * 03/27/20 02_05_06 Use legacy mDNS, combine influxDBmeasurements - * 04/02/20 02_05_07 Overide HTTPS with HTTP in Emonservice, influxService + * 04/02/20 02_05_07 Override HTTPS with HTTP in Emonservice, influxService * 04/20/20 02_05_08 Nothing to see here, just a change to tables.txt to add AccuCTs forced version change * 05/03/20 02_05_09 Add VAR VARh to script and query, Disable datalog WDT during update download, rp in influx query * 09/14/20 02_05_10 Add WiFi to status query - * 09/21/20 02_05_11 Add Graph+ imbed + * 09/21/20 02_05_11 Add Graph+ embed * 12/02/20 02_05_12 Maintenance. Fix query chunking, Tables updates, contributed app changes. * 03/10/21 02_06_00 Add HTTPSproxy, influx2, ms Scheduler, recode Script, uploader base class, more.. * 03/18/21 02_06_01 "server" restart issue, vars in influx tags, init influx bucket @@ -181,7 +181,7 @@ float VrefVolts = 2.5; // Voltage reference shunt value used // handlers if the statistics are used. float frequency = 55; // Split the difference to start -float configFrequency; // Frequency at last config (phase corrrection basis) +float configFrequency; // Frequency at last config (phase correction basis) float samplesPerCycle = 550; // Here as well float cycleSampleRate = 0; int16_t cycleSamples = 0; diff --git a/Firmware/IotaWatt/dataLog.cpp b/Firmware/IotaWatt/dataLog.cpp index 303be7aa..04413723 100644 --- a/Firmware/IotaWatt/dataLog.cpp +++ b/Firmware/IotaWatt/dataLog.cpp @@ -16,7 +16,7 @@ * but they are ordered. It is relatively quick to find any record by key (UNIXtime) and a * readKEY method is provided in the IotaLog class. * - * As with all of the SERVICES, it has a single function call and is implimented as state machine. + * As with all of the SERVICES, it has a single function call and is implemented as state machine. * Services should try not to execute for more than a few milliseconds at a time. **********************************************************************************************/ #include "IotaWatt.h" diff --git a/Firmware/IotaWatt/samplePower.cpp b/Firmware/IotaWatt/samplePower.cpp index 6a9f8596..64b74ff1 100644 --- a/Firmware/IotaWatt/samplePower.cpp +++ b/Firmware/IotaWatt/samplePower.cpp @@ -124,7 +124,7 @@ void samplePower(int channel, int overSample){ _watts *= Ichannel->_vmult; _VA *= Ichannel->_vmult; - // If watts is negative and the channel is not explicitely signed, reverse it (backward CT). + // If watts is negative and the channel is not explicitly signed, reverse it (backward CT). // If we do reverse it, and it's significant, mark it as such for reporting in the status API. Ichannel->_reversed = false; diff --git a/Firmware/IotaWatt/setConfig.cpp b/Firmware/IotaWatt/setConfig.cpp index 44e8e6a8..873ec29e 100644 --- a/Firmware/IotaWatt/setConfig.cpp +++ b/Firmware/IotaWatt/setConfig.cpp @@ -98,7 +98,7 @@ boolean setConfig(const char* configPath){ localTimeDiff = 60.0 * Config[F("timezone")].as(); if(Config.containsKey("logdays")){ - log("Current log overide days: %d", Current_log.setDays(Config[F("logdays")].as())); + log("Current log override days: %d", Current_log.setDays(Config[F("logdays")].as())); } //************************************ Configure device *************************** diff --git a/Firmware/IotaWatt/timeServices.cpp b/Firmware/IotaWatt/timeServices.cpp index f0141ae2..5db9fda8 100644 --- a/Firmware/IotaWatt/timeServices.cpp +++ b/Firmware/IotaWatt/timeServices.cpp @@ -203,7 +203,7 @@ uint32_t timeSync(struct serviceBlock* _serviceBlock) { programStartTime = UTCtime(); rtc.adjust(UTCtime()); RTCrunning = true; - log("timeSync: RTC initalized to NTP time"); + log("timeSync: RTC initialized to NTP time"); //SdFile::dateTimeCallback(dateTime); } diff --git a/Firmware/IotaWatt/timeServices.h b/Firmware/IotaWatt/timeServices.h index 0267b836..289e4d91 100644 --- a/Firmware/IotaWatt/timeServices.h +++ b/Firmware/IotaWatt/timeServices.h @@ -10,10 +10,10 @@ #define PCF8523_CTL_3 2 // Control Register 3 address #define PCF8523_CTL_3_PM 0xe0 // Battery Switch over and low detection ctl -#define PCF8523_CTL_3_BSF 0x08 // Battery switchover occured (power fail) +#define PCF8523_CTL_3_BSF 0x08 // Battery switchover occurred (power fail) #define PCF8523_CTL_3_BLF 0x04 // Battery Status (1 = low) -#define PCF8523_CTL_3_BSIE 0x02 // Interupt on battery switchover = 1 -#define PCF8523_CTL_3_BLIE 0x01 // Interupt on battery low = 1 +#define PCF8523_CTL_3_BSIE 0x02 // Interrupt on battery switchover = 1 +#define PCF8523_CTL_3_BLIE 0x01 // Interrupt on battery low = 1 #define PCF8523_Tmr_CLKOUT_ctrl 0x0f // Control Timers #define PCF8523_Tmr_CLKOUT_ctrl_TAM 0x80 // Timer A (pulsed=1) diff --git a/Firmware/IotaWatt/updater.cpp b/Firmware/IotaWatt/updater.cpp index 90adc71d..29864661 100644 --- a/Firmware/IotaWatt/updater.cpp +++ b/Firmware/IotaWatt/updater.cpp @@ -233,9 +233,9 @@ uint32_t updater(struct serviceBlock* _serviceBlock) { request->send(); // Writing to the SD in async handler can cause problems. If we return - // and keep sampling, the onData handler could interupt another service + // and keep sampling, the onData handler could interrupt another service // in the middle of SDcard work. So we will go synchronous here and wait - // for the entire update blob to be transfered and written to SD. + // for the entire update blob to be transferred and written to SD. // Takes about 5-10 seconds. setLedCycle(LED_UPDATING); diff --git a/Firmware/IotaWatt/utilities.cpp b/Firmware/IotaWatt/utilities.cpp index 98f45d67..0e650c9d 100644 --- a/Firmware/IotaWatt/utilities.cpp +++ b/Firmware/IotaWatt/utilities.cpp @@ -302,7 +302,7 @@ String datef(uint32_t unixtime, const char* format){ } else { // Ends in leap year value[0] += 3; // Count three good years unixtime -= 1095; // Days in last year (-1) - while(unixtime >= month2leapdate[++month]); // Lookup month in leapyear + while(unixtime >= month2leapdate[++month]); // Lookup month in leap year value[2] = unixtime - month2leapdate[month-1] + 1; // Compute residual days } value[1] = month; diff --git a/Firmware/IotaWatt/webServer.cpp b/Firmware/IotaWatt/webServer.cpp index b9d9e7ad..4c3869e1 100644 --- a/Firmware/IotaWatt/webServer.cpp +++ b/Firmware/IotaWatt/webServer.cpp @@ -13,7 +13,7 @@ The server also came with a great editor utility which, if placed on the SD, can be used to edit the web pages or any other text file on the SDcard. - Small parts of the code are imbedded elsewhere as needed in the preamble and Setup sections. + Small parts of the code are embedded elsewhere as needed in the preamble and Setup sections. and "handleClient()" is invoked as often as practical in Loop to keep it running. The author's copyright and license info follows: @@ -41,8 +41,8 @@ Have a FAT Formatted SD Card connected to the SPI port of the ESP8266 The web root is the SD Card root folder - File extensions with more than 3 charecters are not supported by the SD Library - File Names longer than 8 charecters will be truncated by the SD library, so keep filenames shorter + File extensions with more than 3 characters are not supported by the SD Library + File Names longer than 8 characters will be truncated by the SD library, so keep filenames shorter index.htm is the default index (works on subfolders as well) upload the contents of SdRoot to the root of the SDcard and access the editor by going to http://esp8266sd.local/edit @@ -876,7 +876,7 @@ void handleGetFeedData(){ // Had to roll our own streamFile function so we can set the actual partial // file length rather than the total file length. Safari won't work otherwise. -// No big deal. BTW/ This instance of Client.send is depricated in the newer +// No big deal. BTW/ This instance of Client.send is deprecated in the newer // ESP8266WiFiClient, so probably change at some point. (Remove buffer size parameter). void sendMsgFile(File &dataFile, int32_t relPos){ diff --git a/Hardware/IotaWatt4.8.brd b/Hardware/IotaWatt4.8.brd index f2cc1526..7a4048a9 100644 --- a/Hardware/IotaWatt4.8.brd +++ b/Hardware/IotaWatt4.8.brd @@ -204,7 +204,7 @@ purpose. IoTaWatt, Inc. reserves the right to make changes to specifications and product descriptions, at any time, without notice. IoTaWatt. Inc. shall have no responsibilities whatsoever for conflicts or -incompatabilities that arise from future changes. +incompatibilities that arise from future changes. Use of the IoTaWatt trademark name without the express written permission of IoTaWatt, Inc. is @@ -529,7 +529,7 @@ chip <p>Footprints for common components used in our projects and products. This is the same library that we use internally, and it is regularly updated. The newest version can always be found at <b>www.microBuilder.eu</b>. If you find this library useful, please feel free to purchase something from our online store. Please also note that all holes are optimised for metric drill bits!</p> <h3>Obligatory Warning</h3> -<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information puposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> +<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information purposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> <h3>License</h3> <p>This work is placed in the public domain, and may be freely used for commercial and non-commercial work with the following conditions:</p> diff --git a/Hardware/IotaWatt4.8.sch b/Hardware/IotaWatt4.8.sch index ece16171..68f2e84b 100644 --- a/Hardware/IotaWatt4.8.sch +++ b/Hardware/IotaWatt4.8.sch @@ -5354,7 +5354,7 @@ D5V0P4UR6SO <p>Footprints for common components used in our projects and products. This is the same library that we use internally, and it is regularly updated. The newest version can always be found at <b>www.microBuilder.eu</b>. If you find this library useful, please feel free to purchase something from our online store. Please also note that all holes are optimised for metric drill bits!</p> <h3>Obligatory Warning</h3> -<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information puposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> +<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information purposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> <h3>License</h3> <p>This work is placed in the public domain, and may be freely used for commercial and non-commercial work with the following conditions:</p> @@ -5761,7 +5761,7 @@ purpose. IoTaWatt, Inc. reserves the right to make changes to specifications and product descriptions, at any time, without notice. IoTaWatt. Inc. shall have no responsibilities whatsoever for conflicts or -incompatabilities that arise from future changes. +incompatibilities that arise from future changes. Use of the IoTaWatt trademark name without the express written permission of IoTaWatt, Inc. is diff --git a/Hardware/IotaWatt5.0.brd b/Hardware/IotaWatt5.0.brd index ef6ea766..6f048015 100644 --- a/Hardware/IotaWatt5.0.brd +++ b/Hardware/IotaWatt5.0.brd @@ -203,7 +203,7 @@ purpose. IoTaWatt, Inc. reserves the right to make changes to specifications and product descriptions, at any time, without notice. IoTaWatt. Inc. shall have no responsibilities whatsoever for conflicts or -incompatabilities that arise from future changes. +incompatibilities that arise from future changes. Use of the IoTaWatt trademark name without the express written permission of IoTaWatt, Inc. is @@ -551,7 +551,7 @@ chip <p>Footprints for common components used in our projects and products. This is the same library that we use internally, and it is regularly updated. The newest version can always be found at <b>www.microBuilder.eu</b>. If you find this library useful, please feel free to purchase something from our online store. Please also note that all holes are optimised for metric drill bits!</p> <h3>Obligatory Warning</h3> -<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information puposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> +<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information purposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> <h3>License</h3> <p>This work is placed in the public domain, and may be freely used for commercial and non-commercial work with the following conditions:</p> diff --git a/Hardware/IotaWatt5.0.sch b/Hardware/IotaWatt5.0.sch index 6c7b8d55..b5ecfa8a 100644 --- a/Hardware/IotaWatt5.0.sch +++ b/Hardware/IotaWatt5.0.sch @@ -5400,7 +5400,7 @@ D5V0P4UR6SO <p>Footprints for common components used in our projects and products. This is the same library that we use internally, and it is regularly updated. The newest version can always be found at <b>www.microBuilder.eu</b>. If you find this library useful, please feel free to purchase something from our online store. Please also note that all holes are optimised for metric drill bits!</p> <h3>Obligatory Warning</h3> -<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information puposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> +<p>While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information purposes only, and are used at your own discretion. While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!</p> <h3>License</h3> <p>This work is placed in the public domain, and may be freely used for commercial and non-commercial work with the following conditions:</p> @@ -5815,7 +5815,7 @@ purpose. IoTaWatt, Inc. reserves the right to make changes to specifications and product descriptions, at any time, without notice. IoTaWatt. Inc. shall have no responsibilities whatsoever for conflicts or -incompatabilities that arise from future changes. +incompatibilities that arise from future changes. Use of the IoTaWatt trademark name without the express written permission of IoTaWatt, Inc. is diff --git a/Hardware/LICENSE b/Hardware/LICENSE index 54a7666b..8cc36af3 100644 --- a/Hardware/LICENSE +++ b/Hardware/LICENSE @@ -19,7 +19,7 @@ purpose. IoTaWatt, Inc. reserves the right to make changes to specifications and product descriptions, at any time, without notice. IoTaWatt. Inc. shall have no responsibilities whatsoever for conflicts or -incompatabilities that arise from future changes. +incompatibilities that arise from future changes. Use of the IoTaWatt trademark name without the express written permission of IoTaWatt, Inc. is diff --git a/Hardware/VT_adapter.brd b/Hardware/VT_adapter.brd index 5d148604..9b6a1895 100644 --- a/Hardware/VT_adapter.brd +++ b/Hardware/VT_adapter.brd @@ -215,7 +215,7 @@ www.bccomponents.com <p> www.panasonic.com<p> www.kemet.com<p> <p> -for trimmer refence see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p> +for trimmer reference see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p> <map name="nav_main"> <area shape="rect" coords="0,1,140,23" href="../military_specs.asp" title=""> diff --git a/Hardware/VT_adapter.sch b/Hardware/VT_adapter.sch index 3e453c83..a6e8b951 100644 --- a/Hardware/VT_adapter.sch +++ b/Hardware/VT_adapter.sch @@ -356,7 +356,7 @@ www.bccomponents.com <p> www.panasonic.com<p> www.kemet.com<p> <p> -for trimmer refence see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p> +for trimmer reference see : <u>www.electrospec-inc.com/cross_references/trimpotcrossref.asp</u><p> <map name="nav_main"> <area shape="rect" coords="0,1,140,23" href="../military_specs.asp" title=""> diff --git a/SD/index.htm b/SD/index.htm index 8ef5310f..a6e4da92 100644 --- a/SD/index.htm +++ b/SD/index.htm @@ -194,7 +194,7 @@

Configure Optional IoTaWatt Passwords

If the LAN does not provide suitable protection, or there is a need to provide port-forward passthough from the internet, access control is recommended.

- IoTaWatt uses the cryptographic Digest authorization method that employs an encrypted password. Data is transfered in plaintext, but IoTaWatt will not accept unauthorized requests to view or change data when passwords are enabled. Given the limitations + IoTaWatt uses the cryptographic Digest authorization method that employs an encrypted password. Data is transferred in plaintext, but IoTaWatt will not accept unauthorized requests to view or change data when passwords are enabled. Given the limitations of an IoT device, you may find it is a reasonable balance between exposure and data value.

@@ -2739,7 +2739,7 @@

0

begdateInput.type = "date"; var reload = addTableRow(serverTable, "Reload History", "reload", "input"); - addInfo(reload, "Will ovewrite existing data, may take hours to complete."); + addInfo(reload, "Will overwrite existing data, may take hours to complete."); reload.setAttribute("type", "checkbox"); reload.setAttribute("onchange", "config.pvoutput.reload = this.checked; checkPVOutput();"); if (config.pvoutput.reload != undefined && config.pvoutput.reload) { From 115c40955ab6ee43e5a7560e5bbabf4326c2fbad Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 16 Dec 2023 19:21:45 -0500 Subject: [PATCH 4/4] [DATALAD RUNCMD] Do interactive fixing of some ambigous typos === Do not change lines below === { "chain": [], "cmd": "codespell -w -i 3 -C 2", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- Docs/integrators.rst | 2 +- Docs/query.rst | 2 +- Firmware/IotaWatt/common.cpp | 2 +- SD/graph.js | 2 +- SD/tables.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Docs/integrators.rst b/Docs/integrators.rst index 2bd24667..1a453791 100644 --- a/Docs/integrators.rst +++ b/Docs/integrators.rst @@ -131,7 +131,7 @@ and will drive the mains negative when generation exceeds energy use. Create an output that is the sum of all of the mains. Typically a 230V single-phase service will have one main, -a split-phase North-American servive will have two mains and +a split-phase North-American service will have two mains and a three-phase service will have three: (single-phase) diff --git a/Docs/query.rst b/Docs/query.rst index 4707351c..f0db5188 100644 --- a/Docs/query.rst +++ b/Docs/query.rst @@ -118,7 +118,7 @@ select=[*series1* [, *series2* ...]] For most units, this will result in the average value over the entire period. For Wh, it will result in the total Wh for the entire period. - To override, specify a time unit preceeded by a multiplier, as in: + To override, specify a time unit preceded by a multiplier, as in: * 10s (ten seconds) * 5m (five minutes) diff --git a/Firmware/IotaWatt/common.cpp b/Firmware/IotaWatt/common.cpp index b1d9d795..94fd2f7f 100644 --- a/Firmware/IotaWatt/common.cpp +++ b/Firmware/IotaWatt/common.cpp @@ -76,7 +76,7 @@ * 05/16/18 02_03_06 Reimplement messagelog, upgrade to 2.4.1 core and lwip 2 * 06/03/18 02_03_07 Add web server authorization, temp time-wait fix * 06/20/18 02_03_08 Use lwip 2 "high bandwidth", misc fixes - * 07/11/18 02_03_09 Lastest asyngHTTPrequest, Issue#166, improve auth&trace + * 07/11/18 02_03_09 Latest asyngHTTPrequest, Issue#166, improve auth&trace * 07/25/18 02_03_10 run getFeedData in handler, auth session changes, use staging core * 07/31/18 02_03_11 Minor changes for general release * 08/08/18 02_03_12 Finally fix memory leak? diff --git a/SD/graph.js b/SD/graph.js index 5e92593a..79dd766d 100644 --- a/SD/graph.js +++ b/SD/graph.js @@ -965,7 +965,7 @@ $("body").on("click", ".histogram", function () { histogram(feedid, type, resolution); }); -// Chage the histogram resolution +// Change the histogram resolution $("#histogram-resolution").change(function () { var type = $("#histogram-type").val(); var resolution = $("#histogram-resolution").val(); diff --git a/SD/tables.txt b/SD/tables.txt index 1d91dd6a..3dfb7241 100644 --- a/SD/tables.txt +++ b/SD/tables.txt @@ -56,7 +56,7 @@ {"model":"AZ500","mfg":"Talema","type":"C","turns":509,"phase":1.5,"p60":[3.0,1.5,3.5,2.5,3,4,2.5,6.5,2,11,1.5],"p50":[3.5,2,3.0,3,2.5,5,2.0,10,1.5,20,1.25]}, {"model":"AZ1000","mfg":"Talema","type":"C","turns":1005,"phase":0.75,"p60":[1.5,1,1.25,3,1.0,9,0.75,22,0.5],"p50":[1.75,2,1.5,3,1.25,7,1.0,17,0.75,33,0.6]}, {"model":"Micro-40","mfg":"Brultech","type":"C","turns":1500,"phase":1.5,"p60":[3,1,2.5,2,2,5,1.5,12,1],"p50":[4,2.5,3.5,3.5,3,5,2.5,7,2,12,1.5,35,2]}, - {"model":"ZDKCT10M","mfg":"unk nown","type":"C","turns":2007,"phase":1.5}, + {"model":"ZDKCT10M","mfg":"unknown","type":"C","turns":2007,"phase":1.5}, {"model":"PZCT-02","mfg":"unknown","type":"C","turns":1000,"phase":2.5}, {"model":"SCT0750-000","mfg":"Magnalab","type":"C","turns":7550,"phase":2.55}, {"model":"SCT013-030","mfg":"YHDC","type":"V","cal":30,"phase":3.8},