diff --git a/Examples/BackgroundRead/BackgroundRead.ino b/Examples/BackgroundRead/BackgroundRead.ino new file mode 100644 index 0000000..7c43e71 --- /dev/null +++ b/Examples/BackgroundRead/BackgroundRead.ino @@ -0,0 +1,136 @@ +/******************************************************************************************************************* +** Program to demonstrate using the interrupt pin of the INA226, a pin-change interrupt handler and the INA226 ** +** to read voltage and current information in the background while allowing the main Arduino code to continue ** +** processing normally until it is ready to consume the readings. ** +** ** +** Detailed documentation can be found on the GitHub Wiki pages at https://github.com/SV-Zanshin/INA226/wiki ** +** ** +** This example is for a INA226 set up to measure a 5-Volt load with a 0.1 Ohm resistor in place, this is the same** +** setup that can be found in the Adafruit INA219 breakout board. The complex calibration options are done at ** +** runtime using the 2 parameters specified in the "begin()" call and the library has gone to great lengths to ** +** avoid the use of floating point to conserve space and minimize runtime. This demo program uses floating point ** +** only to convert and display the data conveniently. The INA226 uses 15 bits of precision, and even though the ** +** current and watt information is returned using 32-bit integers the precision remains the same. ** +** ** +** The INA226 is set up to measure using the maximum conversion length (and the maximum accuracy) and then average** +** those readings 64 times. This results in readings taking 8.244ms times 64 = 527.616ms or just less than 2 times** +** a second. The pin-change interrupt handler is called when a reading is finished and the INA226 pulls the pin ** +** down to ground, it resets the pin status and adds the readings to the global variables. The main program will ** +** do whatever processing it has to and every 5 seconds it will display the current averaged readings and reset ** +** them. ** +** ** +** The datasheet for the INA226 can be found at http://www.ti.com/lit/ds/symlink/ina226.pdf and it contains the ** +** information required in order to hook up the device. Unfortunately it comes as a VSSOP package but it can be ** +** soldered onto a breakout board for breadboard use. The INA226 is quite similar to the INA219 mentioned above, ** +** but it can take bus voltages of up to 36V (which I needed in order to monitor a 24V battery system which goes ** +** above 28V while charging and which is above the absolute limits of the INA219). It is also significantly more ** +** accurate than the INA219. ** +** ** +** The interrupt is set to pin 8. The tests were done on an Arduino Micro, and the Atmel 82U4 chip only allows ** +** pin change interrupt on selected pins (SS,SCK,MISO,MOSI,8) so pin 8 was chosen. ** +** ** +** This program is free software: you can redistribute it and/or modify it under the terms of the GNU General ** +** Public License as published by the Free Software Foundation, either version 3 of the License, or (at your ** +** option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY ** +** WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** +** GNU General Public License for more details. You should have received a copy of the GNU General Public License ** +** along with this program. If not, see . ** +** ** +** Vers. Date Developer Comments ** +** ======= ========== =================== ======================================================================= ** +** 1.0.0 2017-01-12 Arnd@SV-Zanshin.Com Created example ** +** ** +*******************************************************************************************************************/ +#include // INA226 Library // +/******************************************************************************************************************* +** Declare program Constants ** +*******************************************************************************************************************/ +const uint8_t INA226_ALERT_PIN = 8; // Pin 8. Micro only allows SS,SCK, // +const uint8_t GREEN_LED_PIN = 13; // Green LED (nonstandard location) // +const uint32_t SERIAL_SPEED = 115200; // Use fast serial speed // +/******************************************************************************************************************* +** Declare global variables and instantiate classes ** +*******************************************************************************************************************/ +INA226_Class INA226; // INA class instantiation // +volatile uint64_t sumBusMillVolts = 0; // Sum of bus voltage readings // +volatile int64_t sumBusMicroAmps = 0; // Sum of bus amperage readings // +volatile uint8_t readings = 0; // Number of measurements taken // +/******************************************************************************************************************* +** Declare interrupt service routine for the pin-change interrupt on pin 8 which is set in the setup() method ** +*******************************************************************************************************************/ +ISR (PCINT0_vect) { // handle pin change interrupt D8 // + digitalWrite(GREEN_LED_PIN,!digitalRead(GREEN_LED_PIN)); // Toggle LED to show we are working// + *digitalPinToPCMSK(INA226_ALERT_PIN)&=~bit(digitalPinToPCMSKbit(INA226_ALERT_PIN)); // Disable PCMSK pin // + PCICR &= ~bit(digitalPinToPCICRbit(INA226_ALERT_PIN)); // disable interrupt for the group // + sei(); // Enable interrupts for I2C calls // + sumBusMillVolts += INA226.getBusMilliVolts(); // Read the current value // + sumBusMicroAmps += INA226.getBusMicroAmps(); // Read the current value // + readings++; // Increment the number of readings // + INA226.waitForConversion(); // Resets INA226 interrupt flag // + cli(); // Disable interrupts // + *digitalPinToPCMSK(INA226_ALERT_PIN)|=bit(digitalPinToPCMSKbit(INA226_ALERT_PIN)); // Enable PCMSK pin // + PCIFR |= bit (digitalPinToPCICRbit(INA226_ALERT_PIN)); // clear any outstanding interrupt // + PCICR |= bit (digitalPinToPCICRbit(INA226_ALERT_PIN)); // enable interrupt for the group // +} // of ISR handler for INT0 group of pins // // +/******************************************************************************************************************* +** Declare prototypes for all functions used ** +*******************************************************************************************************************/ +void setup(); // Called once on power-up/restart // +void loop(); // Called repeatedly after setup() // +/******************************************************************************************************************* +** Method Setup(). This is an Arduino IDE method which is called first upon initial boot or restart. It is only ** +** called one time and all of the variables and other initialization calls are done here prior to entering the ** +** main loop for data measurement. ** +*******************************************************************************************************************/ +void setup() { // // + pinMode(GREEN_LED_PIN, OUTPUT); // Define the green LED as an output// + digitalWrite(GREEN_LED_PIN,true); // Turn on the LED // + pinMode(INA226_ALERT_PIN,INPUT_PULLUP); // Declare pin with pullup resistors// + *digitalPinToPCMSK(INA226_ALERT_PIN)|=bit(digitalPinToPCMSKbit(INA226_ALERT_PIN)); // Enable PCMSK pin // + PCIFR |= bit (digitalPinToPCICRbit(INA226_ALERT_PIN)); // clear any outstanding interrupt // + PCICR |= bit (digitalPinToPCICRbit(INA226_ALERT_PIN)); // enable interrupt for the group // + Serial.begin(SERIAL_SPEED); // Start serial communications // + delay(2000); // Wait for comms port to connect // + Serial.print(F("\n\nBackground INA226 Read V1.0.0\n")); // Display program information // + // The begin initialized the calibration for an expected ±1 Amps maximum current and for a 0.1Ohm resistor // + INA226.begin(1,100000); // // + INA226.setAveraging(64); // Average each reading n-times // + INA226.setBusConversion(); // Maximum conversion time 8.244ms // + INA226.setShuntConversion(); // Maximum conversion time 8.244ms // + INA226.setMode(INA_MODE_CONTINUOUS_BOTH); // Bus/shunt measured continuously // + INA226.setAlertPinOnConversion(true); // Make alert pin go low on finish // +} // of method setup() // // +/******************************************************************************************************************* +** This is the main program for the Arduino IDE, it is called in an infinite loop. The INA226 measurements are ** +** run in a simple infinite loop ** +*******************************************************************************************************************/ +void loop() { // Main program loop // + static long lastMillis = millis(); // Store the last time we printed // + + + /* + Do normal processing here + */ + + + /***************************************************************************************************************** + ** Occasionally check to see if we have collected 10 or more readings over time, and display the time and ** + ** average information before resetting the values. Interrupts are turned off when resetting the values to ** + ** ensure atomic operations ** + *****************************************************************************************************************/ + if (readings>=10) { // If it is time to display results // + Serial.print(F("Averaging readings taken over ")); // // + Serial.print((float)(millis()-lastMillis)/1000,2); // // + Serial.print(F(" seconds.\nBus voltage: ")); // // + Serial.print((float)sumBusMillVolts/readings/1000.0,4); // // + Serial.print(F("V\nBus amperage: ")); // // + Serial.print((float)sumBusMicroAmps/readings/1000.0,4); // // + Serial.print(F("mA\n\n")); // // + lastMillis = millis(); // // + cli(); // Disable interrupts // + readings = 0; // Reset values // + sumBusMillVolts = 0; // Reset values // + sumBusMicroAmps = 0; // Reset values // + sei(); // Enable interrupts // + } // of if-then we've reached the required amount of readings // // +} // of method loop //----------------------------------// diff --git a/Examples/DisplayReadings/.vs/DisplayReadings/v14/.atsuo b/Examples/DisplayReadings/.vs/DisplayReadings/v14/.atsuo deleted file mode 100644 index 85766c4..0000000 Binary files a/Examples/DisplayReadings/.vs/DisplayReadings/v14/.atsuo and /dev/null differ diff --git a/Examples/DisplayReadings/Debug/DisplayReadings.elf b/Examples/DisplayReadings/Debug/DisplayReadings.elf deleted file mode 100644 index d1c7933..0000000 Binary files a/Examples/DisplayReadings/Debug/DisplayReadings.elf and /dev/null differ diff --git a/Examples/DisplayReadings/Debug/DisplayReadings.hex b/Examples/DisplayReadings/Debug/DisplayReadings.hex deleted file mode 100644 index 97542a3..0000000 --- a/Examples/DisplayReadings/Debug/DisplayReadings.hex +++ /dev/null @@ -1,585 +0,0 @@ -:100000000C941B010C9443010C9443010C94430188 -:100010000C9443010C9443010C9443010C94430150 -:100020000C9443010C9443010C9468040C94DA047E -:100030000C9443010C9443010C9443010C94430130 -:100040000C9443010C9443010C9443010C94430120 -:100050000C9443010C9443010C9443010C94170736 -:100060000C9443010C9443010C9443010C94430100 -:100070000C9443010C9443010C9443010C944301F0 -:100080000C9443010C9443010C9443010C944301E0 -:100090000C9461070C9443010C9443010C944301AC -:1000A0000C9443010C9443010C944301C309C60909 -:1000B000B509B909BD09E709E709E709CA09CE0980 -:1000C000D209D809DC09E709E20900000000240090 -:1000D00027002A002D0030000A0A446973706C6101 -:1000E0007920494E413232362052656164696E672B -:1000F000732056312E302E300A006D570042757332 -:1001000020776174746167653A202020006D41009A -:1001100042757320616D7065726167653A202000D9 -:100120006D56005368756E7420766F6C74616765E8 -:100130003A2000560042757320766F6C74616765D3 -:100140003A20202000080B000202020100090400EE -:100150000001020200000524001001052401010134 -:10016000042402060524060001070581031000404F -:1001700009040100020A0000000705020240000015 -:100180000705830240000004030904417264756995 -:100190006E6F204C4C430041726475696E6F204D48 -:1001A0006963726F001201000200000040412337B2 -:1001B0008000010102030112010002EF020140412F -:1001C0002337800001010203010000000025002800 -:1001D000002B002E00310004040404040304050273 -:1001E00002020204030202020206060606060604D2 -:1001F000040202020404040802011040804010209E -:1002000040804080080204018040201002011080DC -:1002100010204040200000000200090F00000304ED -:1002200001000C00000000000000000000000000C1 -:1002300000000000EE0D11241FBECFEFDAE0DEBF9C -:10024000CDBF11E0A0E0B1E0EEE2F4E202C0059023 -:100250000D92A434B107D9F722E0A4E4B1E001C0C3 -:100260001D92A138B207E1F711E0CBE1D1E004C063 -:100270002197FE010E94550ECA31D107C9F70E948D -:10028000990B0C9415120C94000040919701509119 -:100290009801209195013091960142175307B4F4CB -:1002A0009091E8009570E1F39091E80092FD19C0FB -:1002B0008093F100809197019091980101968F733E -:1002C0009927892B19F48EEF8093E800809197018C -:1002D000909198010196909398018093970181E005 -:1002E000089580E00895CF92DF92EF92FF920F93EE -:1002F0001F93CF93DF931F92CDB7DEB7182F062F32 -:10030000E42E862F880F8E5F99830E94450183E03B -:100310000E944501F12EC12E9981D92E8C2D8F1965 -:10032000801798F4F601E7FE02C0849101C0808135 -:100330000E944501182F80E00E9445018123FFEFB4 -:10034000CF1ADF0A8111EACF01C081E00F90DF915F -:10035000CF911F910F91FF90EF90DF90CF90089574 -:10036000DF92EF92FF920F931F93CF93DF93D82EDC -:100370008A017B01E40EF51EEB01CE15DF0571F05D -:10038000D7FE03C0FE01849101C088810E9445010F -:1003900021968111F2CF8FEF9FEF01C0C801DF914D -:1003A000CF911F910F91FF90EF90DF9008956150D2 -:1003B00030F02091F100FC0120830196F8CF289ABB -:1003C00084E680939D010895CF92DF92EF92FF9291 -:1003D0000F931F93CF93DF936C017A018B01C0E0E1 -:1003E000D0E0CE15DF0589F0D8016D918D01D601E1 -:1003F000ED91FC910190F081E02DC6010995892BCA -:1004000011F47E0102C02196ECCFC701DF91CF919C -:100410001F910F91FF90EF90DF90CF900895CF93B1 -:10042000DF931F92CDB7DEB76983DC01ED91FC91BC -:100430000280F381E02D41E050E0BE016F5F7F4F0D -:1004400009950F90DF91CF91089583E08093E900A3 -:100450008091F200882319F08AE38093E8000895E0 -:10046000FC018485958597FD0BC09FB7F89482E0C9 -:100470008093E9008091F2009FBF90E0019608957B -:100480009FB7F89482E08093E9008091F2009FBFCB -:1004900090E008953FB7F894809190019091910178 -:1004A000A0919201B091930126B5A89B05C02F3F62 -:1004B00019F00196A11DB11D3FBFBA2FA92F982F8A -:1004C0008827820F911DA11DB11DBC01CD0142E005 -:1004D000660F771F881F991F4A95D1F708958F924D -:1004E0009F92AF92BF92CF92DF92EF92FF926B01F9 -:1004F0007C010E944A024B015C01C114D104E10459 -:10050000F104F1F00E944A02DC01CB01881999093B -:10051000AA09BB09883E9340A105B10570F321E00B -:10052000C21AD108E108F10888EE880E83E0981E0F -:10053000A11CB11CC114D104E104F10419F7DDCFF1 -:10054000FF90EF90DF90CF90BF90AF909F908F90F3 -:1005500008958F929F92AF92BF92CF92DF92EF92C7 -:10056000FF920F931F93CF93DF935C016B018A017E -:1005700080910B01882309F45EC080919E0188233D -:1005800009F459C080919B0180FF05C08091E00073 -:1005900082608093E000E8018AEFF82E93E0E92E74 -:1005A0002FE3822E3AE3932E209709F43DC08FB7B4 -:1005B000F894E092E9009091E80095FF06C09091D0 -:1005C000F200282D291B922F01C090E08FBF9111BE -:1005D0000AC0FA94FF2079F161E070E080E090E0D9 -:1005E0000E946F02E1CF292F30E0C217D3070CF42D -:1005F0009C2F8FB7F894E092E9002091E80025FF46 -:1006000011C0292F30E0C21BD30BF601915020F00E -:1006100041914093F100FACFC20ED31E9091E800B1 -:1006200095FF13C08FBFC0CF5D9A84E680939C0175 -:100630001016110644F081E090E0F5019383828367 -:1006400080E090E005C0C80103C09092E800EACFC6 -:10065000DF91CF911F910F91FF90EF90DF90CF909E -:10066000BF90AF909F908F90089585ED8093BC00D0 -:100670008091BC0084FDFCCF1092E7010895409169 -:100680006601262F30E0240F311D21323105DCF4C4 -:100690002091E7012430C9F4FC0180E090E0861746 -:1006A00058F4309166012191DC01AC5BBE4FA30F81 -:1006B000B11D2C930196F3CF80916601680F609372 -:1006C000660180E0089581E0089582E0089508952C -:1006D000E091A00180919F01E81730F4F0E0EF5520 -:1006E000FE4F808190E008958FEF9FEF08959091E5 -:1006F000A00180919F01981750F4E92FF0E0EF5589 -:10070000FE4F208130E09F5F9093A00102C02FEF49 -:100710003FEFC901089580919F0190E02091A001D1 -:10072000821B91090895CF92DF92EF92FF920F936F -:100730001F93CF93DF937C01262F972F8A018091FF -:10074000E801882391F0C62FD72F6E01C40ED51E65 -:10075000CC15DD0571F06991D701ED91FC91019007 -:10076000F081E02DC7010995F3CF642F822F0E94FD -:100770003F03C801DF91CF911F910F91FF90EF9040 -:10078000DF90CF900895CF93DF931F92CDB7DEB760 -:1007900069832091E8012223D1F020910B022032BD -:1007A00040F021E030E0FC013383228380E090E0E0 -:1007B00015C08091E901E82FF0E0E651FE4F9981E4 -:1007C00090838F5F8093E90180930B0205C061E005 -:1007D000CE0101960E943F0381E090E00F90DF91EF -:1007E000CF9108950F931F93CF93DF931F92CDB7AF -:1007F000DEB782E0898342E450E065E471E080E89E -:100800000E94B0010E94850BDC0112960D911C9193 -:1008100013970115110569F0D801ED91FC91028043 -:10082000F381E02DBE016F5F7F4FC801099597FFEF -:1008300007C089810F90DF91CF911F910F9108958B -:10084000F80100851185E5CFCF93DF931F92CDB7D7 -:10085000DEB7FC018485958597FD05C02FEF3FEF3E -:10086000358724870BC0CE0101960E945B0B019750 -:1008700019F4898190E002C08FEF9FEF0F90DF9114 -:10088000CF9108950F931F93CF93DF931F92CDB70E -:10089000DEB78C01FC018485958597FF0EC0CE01E3 -:1008A00001960E945B0B019719F4298130E002C088 -:1008B0002FEF3FEFF80135872487F8018485958570 -:1008C0000F90DF91CF911F910F9108950E94101208 -:1008D0001F920F920FB60F9211248F939F938091C6 -:1008E000E1009091E100937F9093E10083FF0FC0BE -:1008F0001092E90091E09093EB001092EC0092E3EB -:100900009093ED0010929E0198E09093F00082FF8A -:1009100020C093E09093E9009091F200992319F0A0 -:100920009AE39093E80090919C01992339F090917B -:100930009C01915090939C01992389F190919D0184 -:10094000992339F090919D01915090939D019923A5 -:1009500041F184FF10C08091E2008E7E816080931F -:10096000E2008091E1008F7E8093E10080919B0105 -:100970008E7E806111C080FF16C08091E2008E7E65 -:1009800080618093E2008091E1008E7E8093E1009F -:1009900080919B018E7E816080939B0104C05D9855 -:1009A000CDCF2898D6CF9F918F910F900FBE0F90EB -:1009B0001F9018951F920F920FB60F921124CF928D -:1009C000DF92EF92FF920F931F932F933F934F93DA -:1009D0005F936F937F938F939F93AF93BF93EF93A7 -:1009E000FF93CF93DF93CDB7DEB76C97DEBFCDBF5C -:1009F0001092E9008091E80083FFFAC168E0CE011F -:100A000045960E94D70182EF8093E8008D8987FF89 -:100A100005C09091E80090FFFCCF03C09EEF90933B -:100A2000E800982F907609F0C6C09E892F89188D0E -:100A300091110CC0803829F480919A018093F100C3 -:100A400002C01092F1001092F10047C1422F50E015 -:100A5000512B913051F4811140C14130510509F0C1 -:100A60003CC180919A018D7F0BC0933061F481115C -:100A700034C14130510509F030C180919A01826042 -:100A800080939A012AC1953041F48091E80080FF5B -:100A9000FCCF20682093E30020C1963009F05FC0AE -:100AA000EB8CFC8C1092E900109298011092970147 -:100AB000123091F510929601109295010E94F20366 -:100AC00099E0BE016F5F7F4FDB01E92F1D92EA9530 -:100AD000E9F799831A8391E09E8390EA98879AEFC9 -:100AE00099872091970130919801275F3F4F3C8370 -:100AF0002B838D831092E900109298011092970138 -:100B0000F0929601E092950149E050E080E00E9469 -:100B1000B0010E94F203E1C0F0929601E0929501CB -:100B20000E94850BDC011296ED90FC901397E11466 -:100B3000F10409F4C0C0D701ED91FC910480F58166 -:100B4000E02DBE016B5E7F4FC7010995009719F03C -:100B50000CF0C3C0C6C0F701E084F184E8CF973041 -:100B600009F4BFC0983021F481E08093F100B5C052 -:100B7000993009F0B2C0837009F0B3C0EDE0F1E044 -:100B800081E021E036E39081992361F08093E900D0 -:100B90002093EB0091919093EC003093ED008F5FE8 -:100BA000873089F78EE78093EA001092EA008F89F8 -:100BB00080939E0192C08B8D9C8D1092E9001092C3 -:100BC0009801109297019093960180939501898DD9 -:100BD000811156C08E899D89913A59F4813209F06C -:100BE00080C047E050E064E071E080E00E94B00126 -:100BF00074C0913209F075C0833289F4888D90E019 -:100C0000982F88272F89822BA0E0B0E080930001E5 -:100C100090930101A0930201B09303015EC0803262 -:100C200069F48091E80082FFFCCF67E084E091E006 -:100C30000E94D7018BEF8093E80006C0823209F052 -:100C40004CC08F8980930B0180919901882319F002 -:100C5000EEEFFAE002C0E0E0F8E08091040190914C -:100C60000501A0910601B0910701803B9440A105C8 -:100C7000B10509F088C080910B0180FFA0C083C03E -:100C80000E94850BDC0112960D911C9113970115A2 -:100C9000110539F1D801ED91FC910190F081E02D21 -:100CA000BE016B5E7F4FC8010995811116C0F80126 -:100CB00000851185ECCF1130C1F0133091F48F898C -:100CC000882309F455C08230E9F440E86DE087E9F3 -:100CD00091E00E947301882321F08EEF8093E80059 -:100CE00087C081E28093EB0083C08B8D9C8D089739 -:100CF00011F41093940180919401811136C065EA3A -:100D000071E038C0813029F440E86BE08BE891E075 -:100D1000E0CF833031F70E94850BDC011296ED9015 -:100D2000FC9013978E010F5F1F4F6801E114F104CF -:100D300079F0D701ED91FC910680F781E02DB801A3 -:100D4000C7010995080F111DF701E084F184EECF6A -:100D5000D8011C92F60101900020E9F73197BF01FC -:100D60006C197D0940E0C601B4CF67EB71E002C0A9 -:100D700067E871E06115710509F4B3CFFB01449197 -:100D800050E080E833CF0FB6F894A89580916000CA -:100D9000886180936000109260000FBEA895EE3FBE -:100DA0002AE0F20739F08091FE0A9091FF0A9183C0 -:100DB000808393CF1092FF0A1092FE0A8ECFEE3FEF -:100DC0008AE0F80731F0808191819093FF0A809347 -:100DD000FE0A87E797E7918380839BE088E10FB65F -:100DE000F894A895809360000FBE9093600075CF33 -:100DF0006C960FB6F894DEBF0FBECDBFDF91CF91DA -:100E0000FF91EF91BF91AF919F918F917F916F91E2 -:100E10005F914F913F912F911F910F91FF90EF9014 -:100E2000DF90CF900F900FBE0F901F9018951F92DC -:100E30000F920FB60F9211242F933F938F939F938E -:100E4000AF93BF9380918C0190918D01A0918E0101 -:100E5000B0918F0130918B0123E0230F2D3720F4C7 -:100E60000196A11DB11D05C026E8230F0296A11D04 -:100E7000B11D20938B0180938C0190938D01A093E1 -:100E80008E01B0938F018091900190919101A0917A -:100E90009201B09193010196A11DB11D8093900123 -:100EA00090939101A0939201B0939301BF91AF9160 -:100EB0009F918F913F912F910F900FBE0F901F9098 -:100EC00018951F920F920FB60F9211242F933F93F4 -:100ED0004F935F936F937F938F939F93AF93BF9342 -:100EE000EF93FF938091B900887F803609F49CC00E -:100EF00068F5883209F45BC090F4803109F454C07D -:100F000038F4882309F4F6C0883009F44DC0F6C0DF -:100F1000883109F44CC0803209F45DC0EFC08034E0 -:100F200009F468C048F4803309F455C0883309F0E7 -:100F3000E5C08093E501D8C0803509F44FC08835FD -:100F400009F45DC0883409F0D9C0D6C0883909F4E5 -:100F5000C7C0A8F4883709F467C038F4883609F4A4 -:100F600063C0803709F460C0C9C0883809F4B8C0CC -:100F7000803909F45FC0803809F0C0C05BC0803B95 -:100F800009F486C038F4803A09F466C0883A09F456 -:100F90007FC0B4C0803C09F4A7C0883C09F4A4C059 -:100FA000883B09F48AC0AAC08091C20110C0909108 -:100FB000E4018091E301981770F5E091E40181E08C -:100FC0008E0F8093E401F0E0ED53FE4F808180931B -:100FD000BB0085EC86C08093E5018EC0E091E40102 -:100FE00081E08E0F8093E4018091BB00F0E0ED532F -:100FF000FE4F80839091E4018091E3016EC0E09107 -:10100000E40181E08E0F8093E4018091BB00F0E069 -:10101000ED53FE4F80838091E60181116DC081E028 -:101020008093C10184EA61C083E08093E70110925C -:101030008A01CFCF80918A01803208F051C0E091BF -:101040008A0181E08E0F80938A018091BB00F0E0DD -:10105000E659FE4F8083BDCF85EC8093BC00109293 -:10106000E70180918A01803230F4E0918A01F0E05A -:10107000E659FE4F108260918A0170E0E0916801AC -:10108000F09169018AE691E0099510928A0136C0D3 -:1010900084E08093E7011092670110926601E0916D -:1010A0006401F0916501099580916601811105C087 -:1010B00081E08093660110924401E091670181E034 -:1010C0008E0F80936701F0E0EC5BFE4F8081809390 -:1010D000BB009091670180916601981708F479CF61 -:1010E00085E88093BC000AC085EC8093BC00109218 -:1010F000E70104C01092E5010E943503FF91EF91D2 -:10110000BF91AF919F918F917F916F915F914F911F -:101110003F912F910F900FBE0F901F901895382F71 -:1011200020910B0290910A02213208F049C080916F -:10113000E7018111FCCF42E04093E7013093E601E3 -:101140003FEF3093E5011092E4012093E301AAEE12 -:10115000B1E043EC51E0FA013E2F341B321718F492 -:101160003D913193F9CF1092C2012091C201990FA4 -:10117000922B9093C2019091C101913061F4109231 -:10118000C1019091C2019093BB009091BC0093FD6E -:10119000F8CF95EC01C095EE9093BC009091E701DB -:1011A0009230E1F39091E5019F3F79F08091E50164 -:1011B000803241F08091E501803331F084E005C058 -:1011C00081E003C082E001C083E01092E901109247 -:1011D0000B021092E8010895EF92FF921F93CF93B4 -:1011E000DF931F92CDB7DEB7162F98E6E92E92E077 -:1011F000F92EF701908121E02093E80190930A02F3 -:101200001092E90110920B02682F8CE592E079832D -:101210000E94C3037981672F8CE592E00E94C3038B -:10122000612F8CE592E00E94C30381E00E948F0849 -:10123000F70181830F90DF91CF911F91FF90EF9085 -:101240000895CF93DF939091680221E02093E80105 -:1012500090930A021092E90110920B02682F8CE51C -:1012600092E00E94C30381E00E948F08809369028C -:1012700083E290E00197F1F7209168028091E70105 -:101280008111FCCF81E08093E7018093E6019FEF1D -:101290009093E5011092E4018093E3018093C201F1 -:1012A0009091C201822F880F892B8093C201809177 -:1012B000C101813061F41092C1018091C20180931B -:1012C000BB008091BC0083FDF8CF85EC01C085EEAA -:1012D0008093BC008091E7018130E1F38091E401CB -:1012E000823018F48091E40101C082E0A3ECB1E007 -:1012F00021EA31E0F9019E2F921B981718F49D9175 -:101300009193F9CF1092A00180939F01811101C0A8 -:10131000FFCF8CE592E00E947703D82F80E0C82FA2 -:101320008CE592E00E9477038C2B9D2BDF91CF916F -:10133000089590E0FC01EB5EFD4F4491FC01EA5002 -:10134000FE4F2491FC01E952FE4F8491882309F459 -:101350004CC04423E1F150E0FA013197EF30F10540 -:10136000B0F5EA5AFF4F0C94550E909180009F778C -:1013700007C0909180009F7D03C090918000977F6F -:101380009093800024C094B59F7702C094B59F7D50 -:1013900094BD1DC0909190009F7707C090919000E0 -:1013A0009F7D03C090919000977F909390000FC015 -:1013B0009091C0009F7703C09091C0009F7D909353 -:1013C000C00005C09091C200977F9093C200E82FA3 -:1013D000F0E0EE0FFF1FE753FE4FA591B4918FB7DA -:1013E000F894EC912E2B2C938FBF08950F931F939D -:1013F000CF93DF938C01C0E0D0E0F801EC0FFD1F2C -:101400006491662371F0E0910C02F0910D0201905D -:10141000F081E02D8CE092E00995892B11F0219666 -:10142000ECCFCE01DF91CF911F910F910895BC01B8 -:10143000009791F0FC0101900020E9F73197AF018E -:10144000481B590BE0910C02F0910D020280F381D0 -:10145000E02D8CE092E0099480E090E008958F9276 -:101460009F92AF92BF920F931F93CF93DF93CDB70D -:10147000DEB7A1970FB6F894DEBF0FBECDBF19A29D -:10148000423008F44AE08E010F5D1F4F842E912CEC -:10149000A12CB12CA50194010E94330EE62FB901B5 -:1014A000CA0101501109EA3014F4E05D01C0E95CA1 -:1014B000D801EC93232B242B252B61F7C8010E9424 -:1014C000170AA1960FB6F894DEBF0FBECDBFDF910D -:1014D000CF911F910F91BF90AF909F908F900895E3 -:1014E000CF93DF930E94F609EC0183E391E00E9421 -:1014F000170A8C0F9D1FDF91CF9108954F925F9235 -:101500006F927F928F929F92AF92BF92CF92DF9213 -:10151000EF92FF926B017C01B42E9B01AC010E9403 -:101520000B12882319F086E391E027C026013701CA -:10153000E89477F82FEF3FEF4FE75FE7C301B20181 -:101540000E940B1281110DC02FEF3FEF4FE75FE7B5 -:10155000C301B2010E94411018161CF48AE391E005 -:101560000CC02FEF3FEF4FE75FE4C701B6010E94C9 -:101570009911181684F48EE391E0FF90EF90DF90BC -:10158000CF90BF90AF909F908F907F906F905F9023 -:101590004F900C94170A2FEF3FEF4FE75FECC70116 -:1015A000B6010E94411087FDE6CF20E030E0A9019E -:1015B000C701B6010E94411087FF11C0E0910C02E3 -:1015C000F0910D020190F081E02D6DE28CE092E04F -:1015D00009954C01F7FAF094F7F8F09402C0812CC9 -:1015E000912CA12C60E070E080E09FE3AB1441F00F -:1015F00020E030E040E251E40E944610A394F6CF90 -:101600009B01AC01C701B6010E94D50F2B013C0123 -:101610000E94B8106B017C010E94E7109B01AC0195 -:10162000C301B2010E94D40F2B013C014AE0C70163 -:10163000B6010E942F0A7C01E80CF91CBB2031F096 -:1016400082E491E00E94170AE80EF91EDB2CDD20EF -:1016500021F120E030E040E251E4C301B2010E94F8 -:101660009E112B013C010E94B8104B01A12CB12C02 -:101670004AE0C501B4010E942F0AE80EF91EC50117 -:10168000B4010E94E7109B01AC01C301B2010E94AA -:10169000D40F2B013C01DA94DACFC701FF90EF9011 -:1016A000DF90CF90BF90AF909F908F907F906F9082 -:1016B0005F904F900895FC0180919E01811103C0BD -:1016C0008FEF9FEF08959FB7F89482E08093E90031 -:1016D0002091F20030E01216130614F421E030E0FD -:1016E0002115310559F0289A84E680939D01809157 -:1016F000F10080838091F200882319F09FBFC90117 -:1017000008958BE68093E800F9CF809179028111EA -:101710000DC082E08093750284E08093760210927F -:1017200078021092770281E08093790285E792E057 -:101730000895CF93DF9300D000D0CDB7DEB7789473 -:1017400084B5826084BD84B5816084BD85B58260C6 -:1017500085BD85B5816085BD80916E008160809377 -:101760006E001092810080918100826080938100E0 -:1017700080918100816080938100809180008160F0 -:10178000809380008091910082608093910080918D -:10179000910081608093910080919000816080939E -:1017A00090008091C10084608093C1008091C1004D -:1017B00082608093C1008091C10081608093C100EC -:1017C0008091C30081608093C3008091C0008260DB -:1017D0008093C0008091C20081608093C20080919C -:1017E0007A00846080937A0080917A00826080938E -:1017F0007A0080917A00816080937A0080917A00EB -:10180000806880937A0010929E0110929A01109243 -:101810009B018091D70081608093D70080EA8093FC -:10182000D80089B5806189BD89B5826089BD09B458 -:1018300000FEFDCF61E070E080E090E00E946F026A -:101840008091D8008F7C80618093D8008091E000E7 -:10185000807F8093E0008091E1008E7E8093E100A4 -:101860008DE08093E200559A209A5D982898EEEFDB -:10187000FFE7859194918B3F9C4D19F481E0809313 -:101880009901E3E0F2E02491E4EEF1E08491882311 -:1018900099F090E0880F991FFC01E653FF4FA59146 -:1018A000B491FC01E753FE4F859194918FB7F89462 -:1018B000EC91E22BEC938FBF8DE00E9499098FEFA2 -:1018C0009FEF909319028093180260ED77E080E01B -:1018D00090E00E946F0288ED90E00E94F60910925D -:1018E000A00110929F011092E90110920B02109238 -:1018F000E70111E01093E6011092C10182E00E941D -:10190000990983E00E9499098091B9008E7F8093A4 -:10191000B9008091B9008D7F8093B90088E48093ED -:10192000B80085E48093BC0010936802809168023F -:101930008F3708F041C01093E80180930A0210929B -:10194000E90110920B0281E00E948F0881112EC0E4 -:1019500060E070E80E94EC086AE070E080E090E0EF -:101960000E946F0280E00E94210987329144F1F4C5 -:1019700086E397E790936F0280936E028DE896E07E -:1019800090936B0280936A0286E494EAABE0B0E045 -:101990008093700290937102A0937202B0937302CD -:1019A0006DE876E085E00E94EC0806C08091680250 -:1019B0008F5F80936802BACF80E00E942109917FF7 -:1019C000BC01726080E00E94EC0880E00E94210966 -:1019D000BC01606C716080E00E94EC0880E00E94B5 -:1019E0002109BC01686380E00E94EC0880E00E944D -:1019F0002109887FBC01636080E00E94EC0883E0DD -:101A00008093740214E6412E512C612C712C09E153 -:101A1000302E80E0882E80E0982E85E391E00E94B1 -:101A2000F60982E00E9421099C01ADE7B0E00E9426 -:101A30005B0EA30192010E94330E8091740282FD1D -:101A40000FC081FF0DC080E029833A834B835C8304 -:101A50000E942109BC0180E00E94EC083A812981A2 -:101A6000B90180E090E00E94E71020E030E04AE712 -:101A700054E40E94461044E00E947E0A83E391E011 -:101A80000E94700A83E291E00E94F60981E00E94C0 -:101A900021099C01329EC001339E900D11246AE001 -:101AA00070E00E941F0E8B018091740282FD09C0BC -:101AB00080FF07C080E00E942109BC0180E00E94F5 -:101AC000EC08B801110F880B990B0E94E91020E077 -:101AD00030E04AE754E40E94461043E00E947E0A48 -:101AE00080E291E00E94700A80E191E00E94F60994 -:101AF00084E00E94210920916E0230916F02BC01A6 -:101B0000990F880B990B40E050E00E94C30EE8EE5D -:101B1000AE2EF3E0BF2EC12CD12CE12CF12C00E035 -:101B200010E00E94FF0EB901CA010E94E91020E0F6 -:101B300030E04AE754E40E94461043E00E947E0AE7 -:101B40008DE091E00E94700A8DEF90E00E94F6090E -:101B500083E00E942109E92FF82F990F990B00913A -:101B6000700210917102209172023091730258013B -:101B7000690100E010E02F2F3E2F492F592F692FC8 -:101B8000792F892F0E946A0EA8EEAA2EB3E0BB2EF1 -:101B9000C12CD12C0E94FF0EB901CA010E94E9108C -:101BA00020E030E04AE754E40E94461043E00E94FF -:101BB0007E0A8AEF90E00E94700A83E391E00E941F -:101BC000170A68E873E180E090E00E946F028114D8 -:101BD000910409F422CF0E9400001FCFECE0F2E054 -:101BE0001382128288EE93E0A0E0B0E084839583B4 -:101BF000A683B78327E131E0318320832FEF3FEFC6 -:101C000035872487ECE5F2E0138212828483958382 -:101C1000A683B78387E291E091838083E8E6F2E0D0 -:101C20001082118213821282158214821782168208 -:101C3000108611861286138687E084870895AA1B72 -:101C4000BB1B51E107C0AA1FBB1FA617B70710F0A7 -:101C5000A61BB70B881F991F5A95A9F780959095D9 -:101C6000BC01CD010895A1E21A2EAA1BBB1BFD01E8 -:101C70000DC0AA1FBB1FEE1FFF1FA217B307E4076B -:101C8000F50720F0A21BB30BE40BF50B661F771FC3 -:101C9000881F991F1A9469F76095709580959095A3 -:101CA0009B01AC01BD01CF010895EE0FFF1F059010 -:101CB000F491E02D0994A29FB001B39FC001A39FAE -:101CC000700D811D1124911DB29F700D811D112475 -:101CD000911D0895DF93CF931F930F939A9DF02D3D -:101CE000219FF00D8B9DF00D8A9DE02DF10D039F3E -:101CF000F00D029FE00DF11D4E9DE00DF11D5E9D6A -:101D0000F00D4F9DF00D7F936F93BF92AF925F9355 -:101D10004F93D5010E945B0E8B01AC01D7010E944D -:101D20005B0EEB01E80FF91FD6010E94BA0E2F914E -:101D30003F91D6010E945B0EC60FD71FE81FF91F07 -:101D4000AF91BF910E94BA0E2F913F910E945B0EFE -:101D5000C60FD71FE81FF91FD6010E945B0EE60FC2 -:101D6000F71F9801BE01CF0111240F911F91CF9150 -:101D7000DF9108950E945B0E460F571FC81FD91FA1 -:101D800008F43196089597FB57FF0C94D30E9F9358 -:101D90008F930E94D30E6E1B7F0BAF91BF918A0B66 -:101DA0009B0B0895E894DF93CF93FC01DB010E9425 -:101DB0005B0E7F936F93E9019A01AC01BF93AF93E0 -:101DC0003F932F93DF010E945B0E26F46C1B7D0B6B -:101DD000820B930B9E01EB01FC010E94BA0EAF91A6 -:101DE000BF912F913F910E94BA0EBE01CF01F90120 -:101DF0002F913F91CF91DF910895689401C0E894AD -:101E0000F92FF12B12F00C94310FA0E0B0E0EBE0D1 -:101E1000FFE00C94A30F092E059422F40E948D0F6D -:101E2000112392F4F0E80F26FFEFE094F094009570 -:101E30001095B094C094D094A194BF0ACF0ADF0A41 -:101E4000EF0AFF0A0F0B1F0B0E943C0F07FC0E94BA -:101E50008D0FCDB7DEB7ECE00C94BF0F689401C0D6 -:101E6000E8948F929F92CF93DF930E943C0FDF9173 -:101E7000CF919F908F90089588249924F401E401D4 -:101E8000B0E49F93AA279A158B049C04ED05FE05E8 -:101E9000CF05D007A10798F4AD2FDC2FCF2FFE2F51 -:101EA000E92D982C892E982F872F762F652F542F68 -:101EB000432F322F2227B85031F7BF9127C01B2E56 -:101EC000BF91BB27220F331F441F551F661F771F6B -:101ED000881F991F881C991CEE1FFF1FCC1FDD1F38 -:101EE000AA1FBB1F8A149B04EC05FD05CE05DF0568 -:101EF000A007B10748F08A189B08EC09FD09CE0934 -:101F0000DF09A00BB10B21601A94E1F62EF49401C5 -:101F1000AF01BE01CD01000C0895609570958095CC -:101F2000909530954095509521953F4F4F4F5F4F7D -:101F30006F4F7F4F8F4F9F4F08952F923F924F9239 -:101F40005F926F927F928F929F92AF92BF92CF9249 -:101F5000DF92EF92FF920F931F93CF93DF93CDB752 -:101F6000DEB7CA1BDB0B0FB6F894DEBF0FBECDBFCA -:101F700009942A88398848885F846E847D848C849B -:101F80009B84AA84B984C884DF80EE80FD800C81A4 -:101F90001B81AA81B981CE0FD11D0FB6F894DEBF87 -:101FA0000FBECDBFED0108955058BB27AA270E9450 -:101FB000EC0F0C945F110E94511138F00E945811DF -:101FC00020F039F49F3F19F426F40C944E110EF4CE -:101FD000E095E7FB0C944811E92F0E94701158F32B -:101FE000BA17620773078407950720F079F4A6F5FE -:101FF0000C9492110EF4E0950B2EBA2FA02D0B012C -:10200000B90190010C01CA01A0011124FF27591B3D -:1020100099F0593F50F4503E68F11A16F040A22F43 -:10202000232F342F4427585FF3CF469537952795B4 -:10203000A795F0405395C9F77EF41F16BA0B620BB3 -:10204000730B840BBAF09150A1F0FF0FBB1F661FFA -:10205000771F881FC2F70EC0BA0F621F731F841F3D -:1020600048F4879577956795B795F7959E3F08F063 -:10207000B0CF9395880F08F09927EE0F9795879525 -:1020800008950E94241108F481E008950E945A10D6 -:102090000C945F110E94581158F00E94511140F0A9 -:1020A00029F45F3F29F00C94481151110C949311BD -:1020B0000C944E110E94701168F39923B1F35523CB -:1020C00091F3951B550BBB27AA276217730784074B -:1020D00038F09F5F5F4F220F331F441FAA1FA9F3E1 -:1020E00035D00E2E3AF0E0E832D091505040E695CF -:1020F000001CCAF72BD0FE2F29D0660F771F881F30 -:10210000BB1F261737074807AB07B0E809F0BB0B22 -:10211000802DBF01FF2793585F4F3AF09E3F510536 -:1021200078F00C9448110C9493115F3FE4F3983EBF -:10213000D4F3869577956795B795F7959F5FC9F71F -:10214000880F911D9695879597F90895E1E0660FA0 -:10215000771F881FBB1F621773078407BA0720F019 -:10216000621B730B840BBA0BEE1F88F7E095089582 -:102170000E94781188F09F5798F0B92F9927B7518E -:10218000B0F0E1F0660F771F881F991F1AF0BA951B -:10219000C9F714C0B13091F00E949211B1E00895D6 -:1021A0000C949211672F782F8827B85F39F0B93FC8 -:1021B000CCF3869577956795B395D9F73EF49095CE -:1021C0008095709561957F4F8F4F9F4F0895E8944C -:1021D00009C097FB3EF490958095709561957F4F6F -:1021E0008F4F9F4F9923A9F0F92F96E9BB2793951D -:1021F000F695879577956795B795F111F8CFFAF42D -:10220000BB0F11F460FF1BC06F5F7F4F8F4F9F4F5D -:1022100016C0882311F096E911C0772321F09EE8BB -:10222000872F762F05C0662371F096E8862F70E021 -:1022300060E02AF09A95660F771F881FDAF7880FFB -:102240009695879597F90895990F0008550FAA0B51 -:10225000E0E8FEEF16161706E807F907C0F01216B9 -:102260001306E407F50798F0621B730B840B950BBC -:1022700039F40A2661F0232B242B252B21F4089511 -:102280000A2609F4A140A6958FEF811D811D0895AE -:1022900097F99F6780E870E060E008959FEF80EC19 -:1022A000089500240A9416161706180609060895BC -:1022B00000240A9412161306140605060895092E22 -:1022C0000394000C11F4882352F0BB0F40F4BF2B91 -:1022D00011F460FF04C06F5F7F4F8F4F9F4F0895D1 -:1022E00057FD9058440F551F59F05F3F71F04795C7 -:1022F000880F97FB991F61F09F3F79F087950895AC -:10230000121613061406551FF2CF4695F1DF08C0CA -:10231000161617061806991FF1CF869571056105E7 -:1023200008940895E894BB2766277727CB0197F98F -:1023300008950E94241108F48FEF08950E94B111AE -:102340000C945F110E94511138F00E94581120F036 -:10235000952311F00C9448110C944E1111240C94F7 -:1023600093110E94701170F3959FC1F3950F50E087 -:10237000551F629FF001729FBB27F00DB11D639F37 -:10238000AA27F00DB11DAA1F649F6627B00DA11DDD -:10239000661F829F2227B00DA11D621F739FB00D83 -:1023A000A11D621F839FA00D611D221F749F3327F3 -:1023B000A00D611D231F849F600D211D822F762F8C -:1023C0006A2F11249F5750409AF0F1F088234AF069 -:1023D000EE0FFF1FBB1F661F771F881F91505040D5 -:1023E000A9F79E3F510580F00C9448110C9493116D -:1023F0005F3FE4F3983ED4F3869577956795B7955C -:10240000F795E7959F5FC1F7FE2B880F911D969575 -:10241000879597F908950E942411880B990B0895C8 -:0E24200081E090E0F8940C941512F894FFCF30 -:10242E00FFFFFFFF00E100000000000000C18081FF -:10243E00000000000000000F02A902300224044236 -:10244E0004250200000000C30393038B0377036887 -:10245E000367030D0A006E616E00696E66006F768B -:04246E0066002E00D6 -:00000001FF diff --git a/Examples/DisplayReadings/Debug/DisplayReadings.ino.elf b/Examples/DisplayReadings/Debug/DisplayReadings.ino.elf deleted file mode 100644 index d1c7933..0000000 Binary files a/Examples/DisplayReadings/Debug/DisplayReadings.ino.elf and /dev/null differ diff --git a/Examples/DisplayReadings/Debug/DisplayReadings.ino.hex b/Examples/DisplayReadings/Debug/DisplayReadings.ino.hex deleted file mode 100644 index 97542a3..0000000 --- a/Examples/DisplayReadings/Debug/DisplayReadings.ino.hex +++ /dev/null @@ -1,585 +0,0 @@ -:100000000C941B010C9443010C9443010C94430188 -:100010000C9443010C9443010C9443010C94430150 -:100020000C9443010C9443010C9468040C94DA047E -:100030000C9443010C9443010C9443010C94430130 -:100040000C9443010C9443010C9443010C94430120 -:100050000C9443010C9443010C9443010C94170736 -:100060000C9443010C9443010C9443010C94430100 -:100070000C9443010C9443010C9443010C944301F0 -:100080000C9443010C9443010C9443010C944301E0 -:100090000C9461070C9443010C9443010C944301AC -:1000A0000C9443010C9443010C944301C309C60909 -:1000B000B509B909BD09E709E709E709CA09CE0980 -:1000C000D209D809DC09E709E20900000000240090 -:1000D00027002A002D0030000A0A446973706C6101 -:1000E0007920494E413232362052656164696E672B -:1000F000732056312E302E300A006D570042757332 -:1001000020776174746167653A202020006D41009A -:1001100042757320616D7065726167653A202000D9 -:100120006D56005368756E7420766F6C74616765E8 -:100130003A2000560042757320766F6C74616765D3 -:100140003A20202000080B000202020100090400EE -:100150000001020200000524001001052401010134 -:10016000042402060524060001070581031000404F -:1001700009040100020A0000000705020240000015 -:100180000705830240000004030904417264756995 -:100190006E6F204C4C430041726475696E6F204D48 -:1001A0006963726F001201000200000040412337B2 -:1001B0008000010102030112010002EF020140412F -:1001C0002337800001010203010000000025002800 -:1001D000002B002E00310004040404040304050273 -:1001E00002020204030202020206060606060604D2 -:1001F000040202020404040802011040804010209E -:1002000040804080080204018040201002011080DC -:1002100010204040200000000200090F00000304ED -:1002200001000C00000000000000000000000000C1 -:1002300000000000EE0D11241FBECFEFDAE0DEBF9C -:10024000CDBF11E0A0E0B1E0EEE2F4E202C0059023 -:100250000D92A434B107D9F722E0A4E4B1E001C0C3 -:100260001D92A138B207E1F711E0CBE1D1E004C063 -:100270002197FE010E94550ECA31D107C9F70E948D -:10028000990B0C9415120C94000040919701509119 -:100290009801209195013091960142175307B4F4CB -:1002A0009091E8009570E1F39091E80092FD19C0FB -:1002B0008093F100809197019091980101968F733E -:1002C0009927892B19F48EEF8093E800809197018C -:1002D000909198010196909398018093970181E005 -:1002E000089580E00895CF92DF92EF92FF920F93EE -:1002F0001F93CF93DF931F92CDB7DEB7182F062F32 -:10030000E42E862F880F8E5F99830E94450183E03B -:100310000E944501F12EC12E9981D92E8C2D8F1965 -:10032000801798F4F601E7FE02C0849101C0808135 -:100330000E944501182F80E00E9445018123FFEFB4 -:10034000CF1ADF0A8111EACF01C081E00F90DF915F -:10035000CF911F910F91FF90EF90DF90CF90089574 -:10036000DF92EF92FF920F931F93CF93DF93D82EDC -:100370008A017B01E40EF51EEB01CE15DF0571F05D -:10038000D7FE03C0FE01849101C088810E9445010F -:1003900021968111F2CF8FEF9FEF01C0C801DF914D -:1003A000CF911F910F91FF90EF90DF9008956150D2 -:1003B00030F02091F100FC0120830196F8CF289ABB -:1003C00084E680939D010895CF92DF92EF92FF9291 -:1003D0000F931F93CF93DF936C017A018B01C0E0E1 -:1003E000D0E0CE15DF0589F0D8016D918D01D601E1 -:1003F000ED91FC910190F081E02DC6010995892BCA -:1004000011F47E0102C02196ECCFC701DF91CF919C -:100410001F910F91FF90EF90DF90CF900895CF93B1 -:10042000DF931F92CDB7DEB76983DC01ED91FC91BC -:100430000280F381E02D41E050E0BE016F5F7F4F0D -:1004400009950F90DF91CF91089583E08093E900A3 -:100450008091F200882319F08AE38093E8000895E0 -:10046000FC018485958597FD0BC09FB7F89482E0C9 -:100470008093E9008091F2009FBF90E0019608957B -:100480009FB7F89482E08093E9008091F2009FBFCB -:1004900090E008953FB7F894809190019091910178 -:1004A000A0919201B091930126B5A89B05C02F3F62 -:1004B00019F00196A11DB11D3FBFBA2FA92F982F8A -:1004C0008827820F911DA11DB11DBC01CD0142E005 -:1004D000660F771F881F991F4A95D1F708958F924D -:1004E0009F92AF92BF92CF92DF92EF92FF926B01F9 -:1004F0007C010E944A024B015C01C114D104E10459 -:10050000F104F1F00E944A02DC01CB01881999093B -:10051000AA09BB09883E9340A105B10570F321E00B -:10052000C21AD108E108F10888EE880E83E0981E0F -:10053000A11CB11CC114D104E104F10419F7DDCFF1 -:10054000FF90EF90DF90CF90BF90AF909F908F90F3 -:1005500008958F929F92AF92BF92CF92DF92EF92C7 -:10056000FF920F931F93CF93DF935C016B018A017E -:1005700080910B01882309F45EC080919E0188233D -:1005800009F459C080919B0180FF05C08091E00073 -:1005900082608093E000E8018AEFF82E93E0E92E74 -:1005A0002FE3822E3AE3932E209709F43DC08FB7B4 -:1005B000F894E092E9009091E80095FF06C09091D0 -:1005C000F200282D291B922F01C090E08FBF9111BE -:1005D0000AC0FA94FF2079F161E070E080E090E0D9 -:1005E0000E946F02E1CF292F30E0C217D3070CF42D -:1005F0009C2F8FB7F894E092E9002091E80025FF46 -:1006000011C0292F30E0C21BD30BF601915020F00E -:1006100041914093F100FACFC20ED31E9091E800B1 -:1006200095FF13C08FBFC0CF5D9A84E680939C0175 -:100630001016110644F081E090E0F5019383828367 -:1006400080E090E005C0C80103C09092E800EACFC6 -:10065000DF91CF911F910F91FF90EF90DF90CF909E -:10066000BF90AF909F908F90089585ED8093BC00D0 -:100670008091BC0084FDFCCF1092E7010895409169 -:100680006601262F30E0240F311D21323105DCF4C4 -:100690002091E7012430C9F4FC0180E090E0861746 -:1006A00058F4309166012191DC01AC5BBE4FA30F81 -:1006B000B11D2C930196F3CF80916601680F609372 -:1006C000660180E0089581E0089582E0089508952C -:1006D000E091A00180919F01E81730F4F0E0EF5520 -:1006E000FE4F808190E008958FEF9FEF08959091E5 -:1006F000A00180919F01981750F4E92FF0E0EF5589 -:10070000FE4F208130E09F5F9093A00102C02FEF49 -:100710003FEFC901089580919F0190E02091A001D1 -:10072000821B91090895CF92DF92EF92FF920F936F -:100730001F93CF93DF937C01262F972F8A018091FF -:10074000E801882391F0C62FD72F6E01C40ED51E65 -:10075000CC15DD0571F06991D701ED91FC91019007 -:10076000F081E02DC7010995F3CF642F822F0E94FD -:100770003F03C801DF91CF911F910F91FF90EF9040 -:10078000DF90CF900895CF93DF931F92CDB7DEB760 -:1007900069832091E8012223D1F020910B022032BD -:1007A00040F021E030E0FC013383228380E090E0E0 -:1007B00015C08091E901E82FF0E0E651FE4F9981E4 -:1007C00090838F5F8093E90180930B0205C061E005 -:1007D000CE0101960E943F0381E090E00F90DF91EF -:1007E000CF9108950F931F93CF93DF931F92CDB7AF -:1007F000DEB782E0898342E450E065E471E080E89E -:100800000E94B0010E94850BDC0112960D911C9193 -:1008100013970115110569F0D801ED91FC91028043 -:10082000F381E02DBE016F5F7F4FC801099597FFEF -:1008300007C089810F90DF91CF911F910F9108958B -:10084000F80100851185E5CFCF93DF931F92CDB7D7 -:10085000DEB7FC018485958597FD05C02FEF3FEF3E -:10086000358724870BC0CE0101960E945B0B019750 -:1008700019F4898190E002C08FEF9FEF0F90DF9114 -:10088000CF9108950F931F93CF93DF931F92CDB70E -:10089000DEB78C01FC018485958597FF0EC0CE01E3 -:1008A00001960E945B0B019719F4298130E002C088 -:1008B0002FEF3FEFF80135872487F8018485958570 -:1008C0000F90DF91CF911F910F9108950E94101208 -:1008D0001F920F920FB60F9211248F939F938091C6 -:1008E000E1009091E100937F9093E10083FF0FC0BE -:1008F0001092E90091E09093EB001092EC0092E3EB -:100900009093ED0010929E0198E09093F00082FF8A -:1009100020C093E09093E9009091F200992319F0A0 -:100920009AE39093E80090919C01992339F090917B -:100930009C01915090939C01992389F190919D0184 -:10094000992339F090919D01915090939D019923A5 -:1009500041F184FF10C08091E2008E7E816080931F -:10096000E2008091E1008F7E8093E10080919B0105 -:100970008E7E806111C080FF16C08091E2008E7E65 -:1009800080618093E2008091E1008E7E8093E1009F -:1009900080919B018E7E816080939B0104C05D9855 -:1009A000CDCF2898D6CF9F918F910F900FBE0F90EB -:1009B0001F9018951F920F920FB60F921124CF928D -:1009C000DF92EF92FF920F931F932F933F934F93DA -:1009D0005F936F937F938F939F93AF93BF93EF93A7 -:1009E000FF93CF93DF93CDB7DEB76C97DEBFCDBF5C -:1009F0001092E9008091E80083FFFAC168E0CE011F -:100A000045960E94D70182EF8093E8008D8987FF89 -:100A100005C09091E80090FFFCCF03C09EEF90933B -:100A2000E800982F907609F0C6C09E892F89188D0E -:100A300091110CC0803829F480919A018093F100C3 -:100A400002C01092F1001092F10047C1422F50E015 -:100A5000512B913051F4811140C14130510509F0C1 -:100A60003CC180919A018D7F0BC0933061F481115C -:100A700034C14130510509F030C180919A01826042 -:100A800080939A012AC1953041F48091E80080FF5B -:100A9000FCCF20682093E30020C1963009F05FC0AE -:100AA000EB8CFC8C1092E900109298011092970147 -:100AB000123091F510929601109295010E94F20366 -:100AC00099E0BE016F5F7F4FDB01E92F1D92EA9530 -:100AD000E9F799831A8391E09E8390EA98879AEFC9 -:100AE00099872091970130919801275F3F4F3C8370 -:100AF0002B838D831092E900109298011092970138 -:100B0000F0929601E092950149E050E080E00E9469 -:100B1000B0010E94F203E1C0F0929601E0929501CB -:100B20000E94850BDC011296ED90FC901397E11466 -:100B3000F10409F4C0C0D701ED91FC910480F58166 -:100B4000E02DBE016B5E7F4FC7010995009719F03C -:100B50000CF0C3C0C6C0F701E084F184E8CF973041 -:100B600009F4BFC0983021F481E08093F100B5C052 -:100B7000993009F0B2C0837009F0B3C0EDE0F1E044 -:100B800081E021E036E39081992361F08093E900D0 -:100B90002093EB0091919093EC003093ED008F5FE8 -:100BA000873089F78EE78093EA001092EA008F89F8 -:100BB00080939E0192C08B8D9C8D1092E9001092C3 -:100BC0009801109297019093960180939501898DD9 -:100BD000811156C08E899D89913A59F4813209F06C -:100BE00080C047E050E064E071E080E00E94B00126 -:100BF00074C0913209F075C0833289F4888D90E019 -:100C0000982F88272F89822BA0E0B0E080930001E5 -:100C100090930101A0930201B09303015EC0803262 -:100C200069F48091E80082FFFCCF67E084E091E006 -:100C30000E94D7018BEF8093E80006C0823209F052 -:100C40004CC08F8980930B0180919901882319F002 -:100C5000EEEFFAE002C0E0E0F8E08091040190914C -:100C60000501A0910601B0910701803B9440A105C8 -:100C7000B10509F088C080910B0180FFA0C083C03E -:100C80000E94850BDC0112960D911C9113970115A2 -:100C9000110539F1D801ED91FC910190F081E02D21 -:100CA000BE016B5E7F4FC8010995811116C0F80126 -:100CB00000851185ECCF1130C1F0133091F48F898C -:100CC000882309F455C08230E9F440E86DE087E9F3 -:100CD00091E00E947301882321F08EEF8093E80059 -:100CE00087C081E28093EB0083C08B8D9C8D089739 -:100CF00011F41093940180919401811136C065EA3A -:100D000071E038C0813029F440E86BE08BE891E075 -:100D1000E0CF833031F70E94850BDC011296ED9015 -:100D2000FC9013978E010F5F1F4F6801E114F104CF -:100D300079F0D701ED91FC910680F781E02DB801A3 -:100D4000C7010995080F111DF701E084F184EECF6A -:100D5000D8011C92F60101900020E9F73197BF01FC -:100D60006C197D0940E0C601B4CF67EB71E002C0A9 -:100D700067E871E06115710509F4B3CFFB01449197 -:100D800050E080E833CF0FB6F894A89580916000CA -:100D9000886180936000109260000FBEA895EE3FBE -:100DA0002AE0F20739F08091FE0A9091FF0A9183C0 -:100DB000808393CF1092FF0A1092FE0A8ECFEE3FEF -:100DC0008AE0F80731F0808191819093FF0A809347 -:100DD000FE0A87E797E7918380839BE088E10FB65F -:100DE000F894A895809360000FBE9093600075CF33 -:100DF0006C960FB6F894DEBF0FBECDBFDF91CF91DA -:100E0000FF91EF91BF91AF919F918F917F916F91E2 -:100E10005F914F913F912F911F910F91FF90EF9014 -:100E2000DF90CF900F900FBE0F901F9018951F92DC -:100E30000F920FB60F9211242F933F938F939F938E -:100E4000AF93BF9380918C0190918D01A0918E0101 -:100E5000B0918F0130918B0123E0230F2D3720F4C7 -:100E60000196A11DB11D05C026E8230F0296A11D04 -:100E7000B11D20938B0180938C0190938D01A093E1 -:100E80008E01B0938F018091900190919101A0917A -:100E90009201B09193010196A11DB11D8093900123 -:100EA00090939101A0939201B0939301BF91AF9160 -:100EB0009F918F913F912F910F900FBE0F901F9098 -:100EC00018951F920F920FB60F9211242F933F93F4 -:100ED0004F935F936F937F938F939F93AF93BF9342 -:100EE000EF93FF938091B900887F803609F49CC00E -:100EF00068F5883209F45BC090F4803109F454C07D -:100F000038F4882309F4F6C0883009F44DC0F6C0DF -:100F1000883109F44CC0803209F45DC0EFC08034E0 -:100F200009F468C048F4803309F455C0883309F0E7 -:100F3000E5C08093E501D8C0803509F44FC08835FD -:100F400009F45DC0883409F0D9C0D6C0883909F4E5 -:100F5000C7C0A8F4883709F467C038F4883609F4A4 -:100F600063C0803709F460C0C9C0883809F4B8C0CC -:100F7000803909F45FC0803809F0C0C05BC0803B95 -:100F800009F486C038F4803A09F466C0883A09F456 -:100F90007FC0B4C0803C09F4A7C0883C09F4A4C059 -:100FA000883B09F48AC0AAC08091C20110C0909108 -:100FB000E4018091E301981770F5E091E40181E08C -:100FC0008E0F8093E401F0E0ED53FE4F808180931B -:100FD000BB0085EC86C08093E5018EC0E091E40102 -:100FE00081E08E0F8093E4018091BB00F0E0ED532F -:100FF000FE4F80839091E4018091E3016EC0E09107 -:10100000E40181E08E0F8093E4018091BB00F0E069 -:10101000ED53FE4F80838091E60181116DC081E028 -:101020008093C10184EA61C083E08093E70110925C -:101030008A01CFCF80918A01803208F051C0E091BF -:101040008A0181E08E0F80938A018091BB00F0E0DD -:10105000E659FE4F8083BDCF85EC8093BC00109293 -:10106000E70180918A01803230F4E0918A01F0E05A -:10107000E659FE4F108260918A0170E0E0916801AC -:10108000F09169018AE691E0099510928A0136C0D3 -:1010900084E08093E7011092670110926601E0916D -:1010A0006401F0916501099580916601811105C087 -:1010B00081E08093660110924401E091670181E034 -:1010C0008E0F80936701F0E0EC5BFE4F8081809390 -:1010D000BB009091670180916601981708F479CF61 -:1010E00085E88093BC000AC085EC8093BC00109218 -:1010F000E70104C01092E5010E943503FF91EF91D2 -:10110000BF91AF919F918F917F916F915F914F911F -:101110003F912F910F900FBE0F901F901895382F71 -:1011200020910B0290910A02213208F049C080916F -:10113000E7018111FCCF42E04093E7013093E601E3 -:101140003FEF3093E5011092E4012093E301AAEE12 -:10115000B1E043EC51E0FA013E2F341B321718F492 -:101160003D913193F9CF1092C2012091C201990FA4 -:10117000922B9093C2019091C101913061F4109231 -:10118000C1019091C2019093BB009091BC0093FD6E -:10119000F8CF95EC01C095EE9093BC009091E701DB -:1011A0009230E1F39091E5019F3F79F08091E50164 -:1011B000803241F08091E501803331F084E005C058 -:1011C00081E003C082E001C083E01092E901109247 -:1011D0000B021092E8010895EF92FF921F93CF93B4 -:1011E000DF931F92CDB7DEB7162F98E6E92E92E077 -:1011F000F92EF701908121E02093E80190930A02F3 -:101200001092E90110920B02682F8CE592E079832D -:101210000E94C3037981672F8CE592E00E94C3038B -:10122000612F8CE592E00E94C30381E00E948F0849 -:10123000F70181830F90DF91CF911F91FF90EF9085 -:101240000895CF93DF939091680221E02093E80105 -:1012500090930A021092E90110920B02682F8CE51C -:1012600092E00E94C30381E00E948F08809369028C -:1012700083E290E00197F1F7209168028091E70105 -:101280008111FCCF81E08093E7018093E6019FEF1D -:101290009093E5011092E4018093E3018093C201F1 -:1012A0009091C201822F880F892B8093C201809177 -:1012B000C101813061F41092C1018091C20180931B -:1012C000BB008091BC0083FDF8CF85EC01C085EEAA -:1012D0008093BC008091E7018130E1F38091E401CB -:1012E000823018F48091E40101C082E0A3ECB1E007 -:1012F00021EA31E0F9019E2F921B981718F49D9175 -:101300009193F9CF1092A00180939F01811101C0A8 -:10131000FFCF8CE592E00E947703D82F80E0C82FA2 -:101320008CE592E00E9477038C2B9D2BDF91CF916F -:10133000089590E0FC01EB5EFD4F4491FC01EA5002 -:10134000FE4F2491FC01E952FE4F8491882309F459 -:101350004CC04423E1F150E0FA013197EF30F10540 -:10136000B0F5EA5AFF4F0C94550E909180009F778C -:1013700007C0909180009F7D03C090918000977F6F -:101380009093800024C094B59F7702C094B59F7D50 -:1013900094BD1DC0909190009F7707C090919000E0 -:1013A0009F7D03C090919000977F909390000FC015 -:1013B0009091C0009F7703C09091C0009F7D909353 -:1013C000C00005C09091C200977F9093C200E82FA3 -:1013D000F0E0EE0FFF1FE753FE4FA591B4918FB7DA -:1013E000F894EC912E2B2C938FBF08950F931F939D -:1013F000CF93DF938C01C0E0D0E0F801EC0FFD1F2C -:101400006491662371F0E0910C02F0910D0201905D -:10141000F081E02D8CE092E00995892B11F0219666 -:10142000ECCFCE01DF91CF911F910F910895BC01B8 -:10143000009791F0FC0101900020E9F73197AF018E -:10144000481B590BE0910C02F0910D020280F381D0 -:10145000E02D8CE092E0099480E090E008958F9276 -:101460009F92AF92BF920F931F93CF93DF93CDB70D -:10147000DEB7A1970FB6F894DEBF0FBECDBF19A29D -:10148000423008F44AE08E010F5D1F4F842E912CEC -:10149000A12CB12CA50194010E94330EE62FB901B5 -:1014A000CA0101501109EA3014F4E05D01C0E95CA1 -:1014B000D801EC93232B242B252B61F7C8010E9424 -:1014C000170AA1960FB6F894DEBF0FBECDBFDF910D -:1014D000CF911F910F91BF90AF909F908F900895E3 -:1014E000CF93DF930E94F609EC0183E391E00E9421 -:1014F000170A8C0F9D1FDF91CF9108954F925F9235 -:101500006F927F928F929F92AF92BF92CF92DF9213 -:10151000EF92FF926B017C01B42E9B01AC010E9403 -:101520000B12882319F086E391E027C026013701CA -:10153000E89477F82FEF3FEF4FE75FE7C301B20181 -:101540000E940B1281110DC02FEF3FEF4FE75FE7B5 -:10155000C301B2010E94411018161CF48AE391E005 -:101560000CC02FEF3FEF4FE75FE4C701B6010E94C9 -:101570009911181684F48EE391E0FF90EF90DF90BC -:10158000CF90BF90AF909F908F907F906F905F9023 -:101590004F900C94170A2FEF3FEF4FE75FECC70116 -:1015A000B6010E94411087FDE6CF20E030E0A9019E -:1015B000C701B6010E94411087FF11C0E0910C02E3 -:1015C000F0910D020190F081E02D6DE28CE092E04F -:1015D00009954C01F7FAF094F7F8F09402C0812CC9 -:1015E000912CA12C60E070E080E09FE3AB1441F00F -:1015F00020E030E040E251E40E944610A394F6CF90 -:101600009B01AC01C701B6010E94D50F2B013C0123 -:101610000E94B8106B017C010E94E7109B01AC0195 -:10162000C301B2010E94D40F2B013C014AE0C70163 -:10163000B6010E942F0A7C01E80CF91CBB2031F096 -:1016400082E491E00E94170AE80EF91EDB2CDD20EF -:1016500021F120E030E040E251E4C301B2010E94F8 -:101660009E112B013C010E94B8104B01A12CB12C02 -:101670004AE0C501B4010E942F0AE80EF91EC50117 -:10168000B4010E94E7109B01AC01C301B2010E94AA -:10169000D40F2B013C01DA94DACFC701FF90EF9011 -:1016A000DF90CF90BF90AF909F908F907F906F9082 -:1016B0005F904F900895FC0180919E01811103C0BD -:1016C0008FEF9FEF08959FB7F89482E08093E90031 -:1016D0002091F20030E01216130614F421E030E0FD -:1016E0002115310559F0289A84E680939D01809157 -:1016F000F10080838091F200882319F09FBFC90117 -:1017000008958BE68093E800F9CF809179028111EA -:101710000DC082E08093750284E08093760210927F -:1017200078021092770281E08093790285E792E057 -:101730000895CF93DF9300D000D0CDB7DEB7789473 -:1017400084B5826084BD84B5816084BD85B58260C6 -:1017500085BD85B5816085BD80916E008160809377 -:101760006E001092810080918100826080938100E0 -:1017700080918100816080938100809180008160F0 -:10178000809380008091910082608093910080918D -:10179000910081608093910080919000816080939E -:1017A00090008091C10084608093C1008091C1004D -:1017B00082608093C1008091C10081608093C100EC -:1017C0008091C30081608093C3008091C0008260DB -:1017D0008093C0008091C20081608093C20080919C -:1017E0007A00846080937A0080917A00826080938E -:1017F0007A0080917A00816080937A0080917A00EB -:10180000806880937A0010929E0110929A01109243 -:101810009B018091D70081608093D70080EA8093FC -:10182000D80089B5806189BD89B5826089BD09B458 -:1018300000FEFDCF61E070E080E090E00E946F026A -:101840008091D8008F7C80618093D8008091E000E7 -:10185000807F8093E0008091E1008E7E8093E100A4 -:101860008DE08093E200559A209A5D982898EEEFDB -:10187000FFE7859194918B3F9C4D19F481E0809313 -:101880009901E3E0F2E02491E4EEF1E08491882311 -:1018900099F090E0880F991FFC01E653FF4FA59146 -:1018A000B491FC01E753FE4F859194918FB7F89462 -:1018B000EC91E22BEC938FBF8DE00E9499098FEFA2 -:1018C0009FEF909319028093180260ED77E080E01B -:1018D00090E00E946F0288ED90E00E94F60910925D -:1018E000A00110929F011092E90110920B02109238 -:1018F000E70111E01093E6011092C10182E00E941D -:10190000990983E00E9499098091B9008E7F8093A4 -:10191000B9008091B9008D7F8093B90088E48093ED -:10192000B80085E48093BC0010936802809168023F -:101930008F3708F041C01093E80180930A0210929B -:10194000E90110920B0281E00E948F0881112EC0E4 -:1019500060E070E80E94EC086AE070E080E090E0EF -:101960000E946F0280E00E94210987329144F1F4C5 -:1019700086E397E790936F0280936E028DE896E07E -:1019800090936B0280936A0286E494EAABE0B0E045 -:101990008093700290937102A0937202B0937302CD -:1019A0006DE876E085E00E94EC0806C08091680250 -:1019B0008F5F80936802BACF80E00E942109917FF7 -:1019C000BC01726080E00E94EC0880E00E94210966 -:1019D000BC01606C716080E00E94EC0880E00E94B5 -:1019E0002109BC01686380E00E94EC0880E00E944D -:1019F0002109887FBC01636080E00E94EC0883E0DD -:101A00008093740214E6412E512C612C712C09E153 -:101A1000302E80E0882E80E0982E85E391E00E94B1 -:101A2000F60982E00E9421099C01ADE7B0E00E9426 -:101A30005B0EA30192010E94330E8091740282FD1D -:101A40000FC081FF0DC080E029833A834B835C8304 -:101A50000E942109BC0180E00E94EC083A812981A2 -:101A6000B90180E090E00E94E71020E030E04AE712 -:101A700054E40E94461044E00E947E0A83E391E011 -:101A80000E94700A83E291E00E94F60981E00E94C0 -:101A900021099C01329EC001339E900D11246AE001 -:101AA00070E00E941F0E8B018091740282FD09C0BC -:101AB00080FF07C080E00E942109BC0180E00E94F5 -:101AC000EC08B801110F880B990B0E94E91020E077 -:101AD00030E04AE754E40E94461043E00E947E0A48 -:101AE00080E291E00E94700A80E191E00E94F60994 -:101AF00084E00E94210920916E0230916F02BC01A6 -:101B0000990F880B990B40E050E00E94C30EE8EE5D -:101B1000AE2EF3E0BF2EC12CD12CE12CF12C00E035 -:101B200010E00E94FF0EB901CA010E94E91020E0F6 -:101B300030E04AE754E40E94461043E00E947E0AE7 -:101B40008DE091E00E94700A8DEF90E00E94F6090E -:101B500083E00E942109E92FF82F990F990B00913A -:101B6000700210917102209172023091730258013B -:101B7000690100E010E02F2F3E2F492F592F692FC8 -:101B8000792F892F0E946A0EA8EEAA2EB3E0BB2EF1 -:101B9000C12CD12C0E94FF0EB901CA010E94E9108C -:101BA00020E030E04AE754E40E94461043E00E94FF -:101BB0007E0A8AEF90E00E94700A83E391E00E941F -:101BC000170A68E873E180E090E00E946F028114D8 -:101BD000910409F422CF0E9400001FCFECE0F2E054 -:101BE0001382128288EE93E0A0E0B0E084839583B4 -:101BF000A683B78327E131E0318320832FEF3FEFC6 -:101C000035872487ECE5F2E0138212828483958382 -:101C1000A683B78387E291E091838083E8E6F2E0D0 -:101C20001082118213821282158214821782168208 -:101C3000108611861286138687E084870895AA1B72 -:101C4000BB1B51E107C0AA1FBB1FA617B70710F0A7 -:101C5000A61BB70B881F991F5A95A9F780959095D9 -:101C6000BC01CD010895A1E21A2EAA1BBB1BFD01E8 -:101C70000DC0AA1FBB1FEE1FFF1FA217B307E4076B -:101C8000F50720F0A21BB30BE40BF50B661F771FC3 -:101C9000881F991F1A9469F76095709580959095A3 -:101CA0009B01AC01BD01CF010895EE0FFF1F059010 -:101CB000F491E02D0994A29FB001B39FC001A39FAE -:101CC000700D811D1124911DB29F700D811D112475 -:101CD000911D0895DF93CF931F930F939A9DF02D3D -:101CE000219FF00D8B9DF00D8A9DE02DF10D039F3E -:101CF000F00D029FE00DF11D4E9DE00DF11D5E9D6A -:101D0000F00D4F9DF00D7F936F93BF92AF925F9355 -:101D10004F93D5010E945B0E8B01AC01D7010E944D -:101D20005B0EEB01E80FF91FD6010E94BA0E2F914E -:101D30003F91D6010E945B0EC60FD71FE81FF91F07 -:101D4000AF91BF910E94BA0E2F913F910E945B0EFE -:101D5000C60FD71FE81FF91FD6010E945B0EE60FC2 -:101D6000F71F9801BE01CF0111240F911F91CF9150 -:101D7000DF9108950E945B0E460F571FC81FD91FA1 -:101D800008F43196089597FB57FF0C94D30E9F9358 -:101D90008F930E94D30E6E1B7F0BAF91BF918A0B66 -:101DA0009B0B0895E894DF93CF93FC01DB010E9425 -:101DB0005B0E7F936F93E9019A01AC01BF93AF93E0 -:101DC0003F932F93DF010E945B0E26F46C1B7D0B6B -:101DD000820B930B9E01EB01FC010E94BA0EAF91A6 -:101DE000BF912F913F910E94BA0EBE01CF01F90120 -:101DF0002F913F91CF91DF910895689401C0E894AD -:101E0000F92FF12B12F00C94310FA0E0B0E0EBE0D1 -:101E1000FFE00C94A30F092E059422F40E948D0F6D -:101E2000112392F4F0E80F26FFEFE094F094009570 -:101E30001095B094C094D094A194BF0ACF0ADF0A41 -:101E4000EF0AFF0A0F0B1F0B0E943C0F07FC0E94BA -:101E50008D0FCDB7DEB7ECE00C94BF0F689401C0D6 -:101E6000E8948F929F92CF93DF930E943C0FDF9173 -:101E7000CF919F908F90089588249924F401E401D4 -:101E8000B0E49F93AA279A158B049C04ED05FE05E8 -:101E9000CF05D007A10798F4AD2FDC2FCF2FFE2F51 -:101EA000E92D982C892E982F872F762F652F542F68 -:101EB000432F322F2227B85031F7BF9127C01B2E56 -:101EC000BF91BB27220F331F441F551F661F771F6B -:101ED000881F991F881C991CEE1FFF1FCC1FDD1F38 -:101EE000AA1FBB1F8A149B04EC05FD05CE05DF0568 -:101EF000A007B10748F08A189B08EC09FD09CE0934 -:101F0000DF09A00BB10B21601A94E1F62EF49401C5 -:101F1000AF01BE01CD01000C0895609570958095CC -:101F2000909530954095509521953F4F4F4F5F4F7D -:101F30006F4F7F4F8F4F9F4F08952F923F924F9239 -:101F40005F926F927F928F929F92AF92BF92CF9249 -:101F5000DF92EF92FF920F931F93CF93DF93CDB752 -:101F6000DEB7CA1BDB0B0FB6F894DEBF0FBECDBFCA -:101F700009942A88398848885F846E847D848C849B -:101F80009B84AA84B984C884DF80EE80FD800C81A4 -:101F90001B81AA81B981CE0FD11D0FB6F894DEBF87 -:101FA0000FBECDBFED0108955058BB27AA270E9450 -:101FB000EC0F0C945F110E94511138F00E945811DF -:101FC00020F039F49F3F19F426F40C944E110EF4CE -:101FD000E095E7FB0C944811E92F0E94701158F32B -:101FE000BA17620773078407950720F079F4A6F5FE -:101FF0000C9492110EF4E0950B2EBA2FA02D0B012C -:10200000B90190010C01CA01A0011124FF27591B3D -:1020100099F0593F50F4503E68F11A16F040A22F43 -:10202000232F342F4427585FF3CF469537952795B4 -:10203000A795F0405395C9F77EF41F16BA0B620BB3 -:10204000730B840BBAF09150A1F0FF0FBB1F661FFA -:10205000771F881FC2F70EC0BA0F621F731F841F3D -:1020600048F4879577956795B795F7959E3F08F063 -:10207000B0CF9395880F08F09927EE0F9795879525 -:1020800008950E94241108F481E008950E945A10D6 -:102090000C945F110E94581158F00E94511140F0A9 -:1020A00029F45F3F29F00C94481151110C949311BD -:1020B0000C944E110E94701168F39923B1F35523CB -:1020C00091F3951B550BBB27AA276217730784074B -:1020D00038F09F5F5F4F220F331F441FAA1FA9F3E1 -:1020E00035D00E2E3AF0E0E832D091505040E695CF -:1020F000001CCAF72BD0FE2F29D0660F771F881F30 -:10210000BB1F261737074807AB07B0E809F0BB0B22 -:10211000802DBF01FF2793585F4F3AF09E3F510536 -:1021200078F00C9448110C9493115F3FE4F3983EBF -:10213000D4F3869577956795B795F7959F5FC9F71F -:10214000880F911D9695879597F90895E1E0660FA0 -:10215000771F881FBB1F621773078407BA0720F019 -:10216000621B730B840BBA0BEE1F88F7E095089582 -:102170000E94781188F09F5798F0B92F9927B7518E -:10218000B0F0E1F0660F771F881F991F1AF0BA951B -:10219000C9F714C0B13091F00E949211B1E00895D6 -:1021A0000C949211672F782F8827B85F39F0B93FC8 -:1021B000CCF3869577956795B395D9F73EF49095CE -:1021C0008095709561957F4F8F4F9F4F0895E8944C -:1021D00009C097FB3EF490958095709561957F4F6F -:1021E0008F4F9F4F9923A9F0F92F96E9BB2793951D -:1021F000F695879577956795B795F111F8CFFAF42D -:10220000BB0F11F460FF1BC06F5F7F4F8F4F9F4F5D -:1022100016C0882311F096E911C0772321F09EE8BB -:10222000872F762F05C0662371F096E8862F70E021 -:1022300060E02AF09A95660F771F881FDAF7880FFB -:102240009695879597F90895990F0008550FAA0B51 -:10225000E0E8FEEF16161706E807F907C0F01216B9 -:102260001306E407F50798F0621B730B840B950BBC -:1022700039F40A2661F0232B242B252B21F4089511 -:102280000A2609F4A140A6958FEF811D811D0895AE -:1022900097F99F6780E870E060E008959FEF80EC19 -:1022A000089500240A9416161706180609060895BC -:1022B00000240A9412161306140605060895092E22 -:1022C0000394000C11F4882352F0BB0F40F4BF2B91 -:1022D00011F460FF04C06F5F7F4F8F4F9F4F0895D1 -:1022E00057FD9058440F551F59F05F3F71F04795C7 -:1022F000880F97FB991F61F09F3F79F087950895AC -:10230000121613061406551FF2CF4695F1DF08C0CA -:10231000161617061806991FF1CF869571056105E7 -:1023200008940895E894BB2766277727CB0197F98F -:1023300008950E94241108F48FEF08950E94B111AE -:102340000C945F110E94511138F00E94581120F036 -:10235000952311F00C9448110C944E1111240C94F7 -:1023600093110E94701170F3959FC1F3950F50E087 -:10237000551F629FF001729FBB27F00DB11D639F37 -:10238000AA27F00DB11DAA1F649F6627B00DA11DDD -:10239000661F829F2227B00DA11D621F739FB00D83 -:1023A000A11D621F839FA00D611D221F749F3327F3 -:1023B000A00D611D231F849F600D211D822F762F8C -:1023C0006A2F11249F5750409AF0F1F088234AF069 -:1023D000EE0FFF1FBB1F661F771F881F91505040D5 -:1023E000A9F79E3F510580F00C9448110C9493116D -:1023F0005F3FE4F3983ED4F3869577956795B7955C -:10240000F795E7959F5FC1F7FE2B880F911D969575 -:10241000879597F908950E942411880B990B0895C8 -:0E24200081E090E0F8940C941512F894FFCF30 -:10242E00FFFFFFFF00E100000000000000C18081FF -:10243E00000000000000000F02A902300224044236 -:10244E0004250200000000C30393038B0377036887 -:10245E000367030D0A006E616E00696E66006F768B -:04246E0066002E00D6 -:00000001FF diff --git a/Examples/DisplayReadings/Debug/board.buildinfo b/Examples/DisplayReadings/Debug/board.buildinfo deleted file mode 100644 index 897d02c..0000000 --- a/Examples/DisplayReadings/Debug/board.buildinfo +++ /dev/null @@ -1,296 +0,0 @@ -name=Arduino/Genuino Micro -vid.0=0x2341 -pid.0=0x0037 -vid.1=0x2341 -pid.1=0x8037 -vid.2=0x2A03 -pid.2=0x0037 -vid.3=0x2A03 -pid.3=0x8037 -vid.4=0x2341 -pid.4=0x0237 -vid.4.build.vid=0x2341 -vid.4.build.pid=0x8237 -vid.4.build.usb_product="Genuino Micro" -vid.4.bootloader.file=caterina/Caterina-Genuino-Micro.hex -vid.5=0x2341 -pid.5=0x8237 -vid.5.build.vid=0x2341 -vid.5.build.pid=0x8237 -vid.5.build.usb_product="Genuino Micro" -vid.5.bootloader.file=caterina/Caterina-Genuino-Micro.hex -upload.tool=avrdude -upload.protocol=avr109 -upload.maximum_size=28672 -upload.maximum_data_size=2560 -upload.speed=57600 -upload.disable_flushing=true -upload.use_1200bps_touch=true -upload.wait_for_upload_port=true -bootloader.tool=avrdude -bootloader.low_fuses=0xff -bootloader.high_fuses=0xd8 -bootloader.extended_fuses=0xcb -bootloader.file=caterina/Caterina-Micro.hex -bootloader.unlock_bits=0x3F -bootloader.lock_bits=0x2F -build.mcu=atmega32u4 -build.f_cpu=16000000L -build.vid=0x2341 -build.pid=0x8037 -build.usb_product="Arduino Micro" -build.board=AVR_MICRO -build.core=arduino -build.variant=micro -build.extra_flags={build.usb_flags} -runtime.ide.path=C:\Program Files (x86)\Arduino -runtime.os=windows -build.system.path=C:\Program Files (x86)\Arduino\hardware\arduino\avr\system -runtime.ide.version=106012 -target_package=arduino -target_platform=avr -runtime.hardware.path=C:\Program Files (x86)\Arduino\hardware\arduino -originalid=micro -intellisense.tools.path={runtime.tools.avr-gcc.path}/ -intellisense.include.paths={intellisense.tools.path}avr/include/;{intellisense.tools.path}/avr/include/avr/;{intellisense.tools.path}lib\gcc\avr\4.8.1\include -tools.atprogram.cmd.path=%AVRSTUDIO_EXE_PATH%\atbackend\atprogram -tools.atprogram.cmd.setwinpath=true -tools.atprogram.program.params.verbose=-v -tools.atprogram.program.params.quiet=-q -tools.atprogram.program.pattern="{cmd.path}" -d {build.mcu} {program.verbose} {program.extra_params} program -c -f "{build.path}\{build.project_name}.hex" -tools.atprogram.program.xpattern="{cmd.path}" {AVRSTUDIO_BACKEND_CONNECTION} -d {build.mcu} {program.verbose} {program.extra_params} program -c -f "{build.path}\{build.project_name}.hex" -tools.atprogram.erase.params.verbose=-v -tools.atprogram.erase.params.quiet=-q -tools.atprogram.bootloader.params.verbose=-v -tools.atprogram.bootloader.params.quiet=-q -tools.atprogram.bootloader.pattern="{cmd.path}" -d {build.mcu} {bootloader.verbose} program -c -f "{runtime.ide.path}/hardware/arduino/avr/bootloaders/{bootloader.file}" -version=1.6.14 -compiler.warning_flags=-w -compiler.warning_flags.none=-w -compiler.warning_flags.default= -compiler.warning_flags.more=-Wall -compiler.warning_flags.all=-Wall -Wextra -compiler.path={runtime.tools.avr-gcc.path}/bin/ -compiler.c.cmd=avr-gcc -compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -compiler.c.elf.flags={compiler.warning_flags} -Os -flto -fuse-linker-plugin -Wl,--gc-sections -compiler.c.elf.cmd=avr-gcc -compiler.S.flags=-c -g -x assembler-with-cpp -flto -compiler.cpp.cmd=avr-g++ -compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -compiler.ar.cmd=avr-gcc-ar -compiler.ar.flags=rcs -compiler.objcopy.cmd=avr-objcopy -compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 -compiler.elf2hex.flags=-O ihex -R .eeprom -compiler.elf2hex.cmd=avr-objcopy -compiler.ldflags= -compiler.size.cmd=avr-size -compiler.c.extra_flags= -compiler.c.elf.extra_flags= -compiler.S.extra_flags= -compiler.cpp.extra_flags= -compiler.ar.extra_flags= -compiler.objcopy.eep.extra_flags= -compiler.elf2hex.extra_flags= -recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" -recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" -recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" -archive_file_path=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\core.a -recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm -recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep" -recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex" -recipe.output.tmp_file={build.project_name}.hex -recipe.output.save_file={build.project_name}.{build.variant}.hex -recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf" -recipe.size.regex=^(?:\.text|\.data|\.bootloader)\s+([0-9]+).* -recipe.size.regex.data=^(?:\.data|\.bss|\.noinit)\s+([0-9]+).* -recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).* -preproc.includes.flags=-w -x c++ -M -MG -MP -recipe.preproc.includes="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {preproc.includes.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -preproc.macros.flags=-w -x c++ -E -CC -recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {preproc.macros.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{preprocessed_file_path}" -tools.avrdude.path={runtime.tools.avrdude.path} -tools.avrdude.cmd.path={path}/bin/avrdude -tools.avrdude.config.path={path}/etc/avrdude.conf -tools.avrdude.upload.params.verbose=-v -tools.avrdude.upload.params.quiet=-q -q -tools.avrdude.upload.params.noverify=-V -tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} {upload.verify} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i" -tools.avrdude.program.params.verbose=-v -tools.avrdude.program.params.quiet=-q -q -tools.avrdude.program.params.noverify=-V -tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} {program.verify} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i" -tools.avrdude.erase.params.verbose=-v -tools.avrdude.erase.params.quiet=-q -q -tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m -tools.avrdude.bootloader.params.verbose=-v -tools.avrdude.bootloader.params.quiet=-q -q -tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.platform.path}/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m -tools.avrdude_remote.upload.pattern=/usr/bin/run-avrdude /tmp/sketch.hex {upload.verbose} -p{build.mcu} -build.usb_manufacturer="Unknown" -build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' -vm.platform.root.path=C:\Program Files (x86)\Atmel\Studio\7.0\Extensions\yhvelnol.hcr\Micro Platforms\arduino16x -avrisp.name=AVR ISP -avrisp.communication=serial -avrisp.protocol=stk500v1 -avrisp.program.protocol=stk500v1 -avrisp.program.tool=avrdude -avrisp.program.extra_params=-P{serial.port} -avrispmkii.name=AVRISP mkII -avrispmkii.communication=usb -avrispmkii.protocol=stk500v2 -avrispmkii.program.protocol=stk500v2 -avrispmkii.program.tool=avrdude -avrispmkii.program.extra_params=-Pusb -usbtinyisp.name=USBtinyISP -usbtinyisp.protocol=usbtiny -usbtinyisp.program.tool=avrdude -usbtinyisp.program.extra_params= -arduinoisp.name=ArduinoISP -arduinoisp.protocol=arduinoisp -arduinoisp.program.tool=avrdude -arduinoisp.program.extra_params= -usbasp.name=USBasp -usbasp.communication=usb -usbasp.protocol=usbasp -usbasp.program.protocol=usbasp -usbasp.program.tool=avrdude -usbasp.program.extra_params=-Pusb -parallel.name=Parallel Programmer -parallel.protocol=dapa -parallel.force=true -parallel.program.tool=avrdude -parallel.program.extra_params=-F -arduinoasisp.name=Arduino as ISP -arduinoasisp.communication=serial -arduinoasisp.protocol=stk500v1 -arduinoasisp.speed=19200 -arduinoasisp.program.protocol=stk500v1 -arduinoasisp.program.speed=19200 -arduinoasisp.program.tool=avrdude -arduinoasisp.program.extra_params=-P{serial.port} -b{program.speed} -usbGemma.name=Arduino Gemma -usbGemma.protocol=arduinogemma -usbGemma.program.tool=avrdude -usbGemma.program.extra_params= -usbGemma.config.path={runtime.platform.path}/bootloaders/gemma/avrdude.conf -stk500.name=Atmel STK500 development board -stk500.communication=serial -stk500.protocol=stk500 -stk500.program.protocol=stk500 -stk500.program.tool=avrdude -stk500.program.extra_params=-P{serial.port} -buspirate.name=BusPirate as ISP -buspirate.communication=serial -buspirate.protocol=buspirate -buspirate.program.protocol=buspirate -buspirate.program.tool=avrdude -buspirate.program.extra_params=-P{serial.port} -runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -runtime.tools.avrdude-6.3.0-arduino2.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -runtime.tools.avr-gcc-4.9.2-atmel3.5.3-arduino.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -runtime.vm.boardinfo.id=micro -runtime.vm.boardinfo.name=micro -runtime.vm.boardinfo.desc=Arduino/Genuino Micro -runtime.vm.boardinfo.src_location=C:\Program Files (x86)\Arduino\hardware\arduino\avr -ide.hint=For all platforms that use Board Manager -ide.location.key=Arduino16x -ide.location.ide.winreg=Arduino 1.6.x Application -ide.location.sketchbook.winreg=Arduino 1.6.x Sketchbook -ide.location.sketchbook.preferences=sketchbook.path -ide.default.revision_name=1.6.9 -ide.default.version=10609 -ide.default.package=arduino -ide.default.platform=avr -ide.multiplatform=true -ide.includes=arduino.h -ide.exe_name=arduino -ide.platformswithoutpackage=false -ide.includes.fallback=wprogram.h -ide.extension=ino -ide.extension.fallback=pde -ide.versionGTEQ=160 -ide.exe=arduino.exe -ide.hosts=atmel -ide.url=http://arduino.cc/en/Main/Software -ide.help.reference.path=reference -ide.help.reference.path2=reference\www.arduino.cc\en\Reference -ide.help.reference.serial=reference\www.arduino.cc\en\Serial -vm.debug=true -software=ARDUINO -ssh.user.name=root -ssh.user.default.password=arduino -ssh.host.wwwfiles.path=/www/sd -build.working_directory={runtime.ide.path} -ide.location.preferences.portable={runtime.ide.path}\portable -ide.location.preferences=%VM_APPDATA_LOCAL%\arduino15\preferences.txt -ide.location.preferences_fallback=%VM_APPDATA_ROAMING%\arduino15\preferences.txt -ide.location.contributions=%VM_APPDATA_LOCAL%\arduino15 -ide.location.contributions_fallback=%VM_APPDATA_ROAMING%\arduino15 -ide.contributions.boards.allow=true -ide.contributions.boards.ignore_unless_rewrite_found=true -ide.contributions.libraries.allow=true -ide.contributions.boards.support.urls.wiki=https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls -ide.create_platforms_from_boardsTXT.teensy=build.core -ide.appid=arduino16x -location.sketchbook=C:\Users\Arnd\Documents\Arduino -build.core.vmresolved=C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -build.core.parentfolder.vmresolved=C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores -build.core.coresparentfolder.vmresolved=C:\Program Files (x86)\Arduino\hardware\arduino\avr -build.core.path=C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -vm.core.include=arduino.h -vm.boardsource.path=C:\Program Files (x86)\Arduino\hardware\arduino\avr -runtime.platform.path=C:\Program Files (x86)\Arduino\hardware\arduino\avr -vm.platformname.name=avr -build.arch=AVR -builder.noino=false -build.variant.vmresolved=C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro -build.architecture=avr -vmresolved.compiler.path=C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\ -vmresolved.tools.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -vm.runtime.compiler.showwarnings=false -vm.runtime.upload.verbose=false -vm.runtime.upload.verify=false -serial.port.file=COM12 -serial.port=COM12 -serial.port.num=12 -vm.runtime.compiler.auto_discover_includes=true -build.vm.build.vmdebug=0 -build.vm.build.isgdb=0 -build.vm.build.optimised=1 -vm.last.buildpath=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro -vm.build.verbose_build_properties=false -build.source.path=C:\Users\Arnd\Documents\Arduino\libraries\INA226\Examples\DisplayReadings\DisplayReadings.ino -build.path=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro -PreProcessor.HeaderCount=1 -PreProcessor.PrototypeCount=4 -vm.last.preproc.file.0.file=DisplayReadings.ino -vm.last.preproc.file.0.offset=1 -vm.last.preproc.file.0.length=8644 -vm.last.preproc.file.0.linecount=87 -vm.last.preproc.file.0.linestart=0 -vm.last.preproc.file.0.lineend=87 -vm.last.preproc.file.0.prefix_lines=0 -sketch_path=C:\Users\Arnd\Documents\Arduino\libraries\INA226\Examples\DisplayReadings -vm.sketch_source_path=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro -vm.build_use_temp=1 -build.project_name=DisplayReadings.ino -runtime.vm.ide.platforms.path=C:\Program Files (x86)\Atmel\Studio\7.0\Extensions\yhvelnol.hcr\Micro Platforms -build.variant.path=C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro -archive_file=core.a -extra.time.local=78723014 -tools.ctags.path={runtime.tools.ctags.path} -tools.ctags.cmd.path={path}/ctags -tools.ctags.pattern="{cmd.path}" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "{source_file}" -vm_all_includes= -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro" -I"C:\Users\Arnd\Documents\Arduino\libraries\INA226" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" -I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files (x86)\Atmel\Studio\7.0\Extensions\yhvelnol.hcr\Micro Platforms\default\debuggers" -I"C:\Users\Arnd\Documents\Arduino\libraries" -vm_core_includes= -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro" -includes= -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\micro" -I"C:\Users\Arnd\Documents\Arduino\libraries\INA226" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src" -I"C:\Program Files (x86)\Arduino\libraries" -I"C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries" -I"C:\Program Files (x86)\Atmel\Studio\7.0\Extensions\yhvelnol.hcr\Micro Platforms\default\debuggers" -I"C:\Users\Arnd\Documents\Arduino\libraries" -build.path_sketch=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro -build.path_core=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\core -build.path_libraries=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro -object_file=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\DisplayReadings.cpp.o -source_file=C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\DisplayReadings.cpp -object_files= "C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\DisplayReadings.cpp.o" "C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\Wire\Wire.cpp.o" "C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\Wire\utility\twi.c.o" "C:\Users\Arnd\AppData\Local\Temp\VMicroBuilds\DisplayReadings\micro\INA226\INA226.cpp.o" diff --git a/Examples/DisplayReadings/Debug/core.a b/Examples/DisplayReadings/Debug/core.a deleted file mode 100644 index d4b6c59..0000000 Binary files a/Examples/DisplayReadings/Debug/core.a and /dev/null differ diff --git a/Examples/DisplayReadings/DisplayReadings.atsln b/Examples/DisplayReadings/DisplayReadings.atsln deleted file mode 100644 index 02536e5..0000000 --- a/Examples/DisplayReadings/DisplayReadings.atsln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Atmel Studio Solution File, Format Version 11.00 -VisualStudioVersion = 14.0.25420.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "DisplayReadings", "DisplayReadings.cppproj", "{D9CB478C-F802-4499-9278-5D54C321A635}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|AVR = Debug|AVR - Release|AVR = Release|AVR - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D9CB478C-F802-4499-9278-5D54C321A635}.Debug|AVR.ActiveCfg = Debug|AVR - {D9CB478C-F802-4499-9278-5D54C321A635}.Debug|AVR.Build.0 = Debug|AVR - {D9CB478C-F802-4499-9278-5D54C321A635}.Release|AVR.ActiveCfg = Release|AVR - {D9CB478C-F802-4499-9278-5D54C321A635}.Release|AVR.Build.0 = Release|AVR - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Examples/DisplayReadings/DisplayReadings.componentinfo.xml b/Examples/DisplayReadings/DisplayReadings.componentinfo.xml deleted file mode 100644 index e275755..0000000 --- a/Examples/DisplayReadings/DisplayReadings.componentinfo.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Examples/DisplayReadings/DisplayReadings.cppproj b/Examples/DisplayReadings/DisplayReadings.cppproj deleted file mode 100644 index 14b529d..0000000 --- a/Examples/DisplayReadings/DisplayReadings.cppproj +++ /dev/null @@ -1,231 +0,0 @@ - - - - 2.0 - 7.0 - com.Atmel.AVRGCC8.CPP - {d9cb478c-f802-4499-9278-5d54c321a635} - atmega32u4 - none - Executable - CPP - $(MSBuildProjectName) - .elf - $(MSBuildProjectDirectory)\$(Configuration) - DisplayReadings - DisplayReadings - DisplayReadings - Native - true - false - - - 0 - true - 0x20000000 - true - - 0 - - - - - - - - - - - - - true - - - - - True - True - True - True - False - True - True - - - __AVR_ATmega32u4__ - __AVR_ATmega32U4__ - ARDUINO=106012 - ARDUINO_MAIN - F_CPU=16000000L - __AVR__ - ARDUINO_AVR_MICRO - ARDUINO_ARCH_AVR - USB_VID=0x2341 - USB_PID=0x8037 - - - - - C:/Users/Arnd/Documents/Arduino/libraries/INA226 - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src - C:/Users/Arnd/Documents/Arduino/libraries/INA226/utility - C:/Program Files (x86)/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries - C:/Users/Arnd/Documents/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino - C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/micro - ../../../DisplayReadings - C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/ - C:/Program Files (x86)/Arduino/hardware/tools/avr//avr/include/avr/ - C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/4.8.1/include - - - Optimize (-O1) - True - True - Default (-g2) - True - True - True - - - __AVR_ATmega32u4__ - __AVR_ATmega32U4__ - ARDUINO=106012 - ARDUINO_MAIN - F_CPU=16000000L - __AVR__ - ARDUINO_AVR_MICRO - ARDUINO_ARCH_AVR - USB_VID=0x2341 - USB_PID=0x8037 - - - - - C:/Users/Arnd/Documents/Arduino/libraries/INA226 - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src - C:/Users/Arnd/Documents/Arduino/libraries/INA226/utility - C:/Program Files (x86)/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries - C:/Users/Arnd/Documents/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino - C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/micro - ../../../DisplayReadings - C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/ - C:/Program Files (x86)/Arduino/hardware/tools/avr//avr/include/avr/ - C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/4.8.1/include - - - Optimize (-O1) - True - True - Default (-g2) - True - Default (-Wa,-g) - - - C:/Users/Arnd/Documents/Arduino/libraries/DSFamily;C:/Users/Arnd/Documents/Arduino/libraries/DSFamily/utility;C:/Users/Arnd/Documents/Arduino/libraries/INA226;C:/Users/Arnd/Documents/Arduino/libraries/INA226/utility;C:/Users/Arnd/Documents/Arduino/libraries/LiquidCrystal;C:/Users/Arnd/Documents/Arduino/libraries/LiquidCrystal/utility;C:/Program Files (x86)/Arduino/libraries;C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries;C:/Users/Arnd/Documents/Arduino/libraries;C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino;C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/micro;../../../DisplayReadings;C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/;C:/Program Files (x86)/Arduino/hardware/tools/avr//avr/include/avr/;C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/4.8.1/include;C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src;C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src/utility;C:/Program Files (x86)/Atmel/Studio/7.0/Extensions/yhvelnol.hcr/Micro Platforms/default/debuggers; - - - - - True - True - True - True - False - True - True - - - __AVR_ATmega32u4__ - __AVR_ATmega32U4__ - ARDUINO=106012 - ARDUINO_MAIN - F_CPU=16000000L - __AVR__ - ARDUINO_AVR_MICRO - ARDUINO_ARCH_AVR - USB_VID=0x2341 - USB_PID=0x8037 - - - - - C:/Users/Arnd/Documents/Arduino/libraries/INA226 - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src - C:/Users/Arnd/Documents/Arduino/libraries/INA226/utility - C:/Program Files (x86)/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries - C:/Users/Arnd/Documents/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino - C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/micro - ../../../DisplayReadings - C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/ - C:/Program Files (x86)/Arduino/hardware/tools/avr//avr/include/avr/ - C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/4.8.1/include - - - Optimize (-O1) - True - True - Default (-g2) - True - True - True - - - __AVR_ATmega32u4__ - __AVR_ATmega32U4__ - ARDUINO=106012 - ARDUINO_MAIN - F_CPU=16000000L - __AVR__ - ARDUINO_AVR_MICRO - ARDUINO_ARCH_AVR - USB_VID=0x2341 - USB_PID=0x8037 - - - - - C:/Users/Arnd/Documents/Arduino/libraries/INA226 - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src - C:/Users/Arnd/Documents/Arduino/libraries/INA226/utility - C:/Program Files (x86)/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries - C:/Users/Arnd/Documents/Arduino/libraries - C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino - C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/micro - ../../../DisplayReadings - C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/ - C:/Program Files (x86)/Arduino/hardware/tools/avr//avr/include/avr/ - C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/4.8.1/include - - - Optimize (-O1) - True - True - Default (-g2) - True - Default (-Wa,-g) - - - C:/Users/Arnd/Documents/Arduino/libraries/DSFamily;C:/Users/Arnd/Documents/Arduino/libraries/DSFamily/utility;C:/Users/Arnd/Documents/Arduino/libraries/INA226;C:/Users/Arnd/Documents/Arduino/libraries/INA226/utility;C:/Users/Arnd/Documents/Arduino/libraries/LiquidCrystal;C:/Users/Arnd/Documents/Arduino/libraries/LiquidCrystal/utility;C:/Program Files (x86)/Arduino/libraries;C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries;C:/Users/Arnd/Documents/Arduino/libraries;C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino;C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/micro;../../../DisplayReadings;C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/;C:/Program Files (x86)/Arduino/hardware/tools/avr//avr/include/avr/;C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/4.8.1/include;C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src;C:/Program Files (x86)/Arduino/hardware/arduino/avr/libraries/Wire/src/utility;C:/Program Files (x86)/Atmel/Studio/7.0/Extensions/yhvelnol.hcr/Micro Platforms/default/debuggers; - - - - compile - - - - - - - - compile - - - - \ No newline at end of file diff --git a/Examples/DisplayReadings/DisplayReadings.ino b/Examples/DisplayReadings/DisplayReadings.ino index 8227e51..05a3927 100644 --- a/Examples/DisplayReadings/DisplayReadings.ino +++ b/Examples/DisplayReadings/DisplayReadings.ino @@ -2,11 +2,15 @@ ** Program to demonstrate the INA226 library for the Arduino IDE. A simple infinite loop of measurments will ** ** display the bus voltage and current running through the INA226. ** ** ** +** ** +** Detailed documentation can be found on the GitHub Wiki pages at https://github.com/SV-Zanshin/INA226/wiki ** +** ** ** This example is for a INA226 set up to measure a 5-Volt load with a 0.1 Ohm resistor in place, this is the same** ** setup that can be found in the Adafruit INA219 breakout board. The complex calibration options are done at ** -** runtime using the 4 parameters specified in the "begin()" call and the library has gone to great lengths to ** -** avoid the use of floating point and this program's floating point use is just for easy display purposes; the ** -** results come back as signed 32-bit integers and can cover the whole range of expected currents and voltages. ** +** runtime using the 2 parameters specified in the "begin()" call and the library has gone to great lengths to ** +** avoid the use of floating point to conserve space and minimize runtime. This demo program uses floating point ** +** only to convert and display the data conveniently. The INA226 uses 15 bits of precision, and even though the ** +** current and watt information is returned using 32-bit integers the precision remains the same. ** ** ** ** The datasheet for the INA226 can be found at http://www.ti.com/lit/ds/symlink/ina226.pdf and it contains the ** ** information required in order to hook up the device. Unfortunately it comes as a VSSOP package but it can be ** @@ -24,6 +28,7 @@ ** ** ** Vers. Date Developer Comments ** ** ======= ========== =================== ======================================================================= ** +** 1.0.1 2017-01-12 Arnd@SV-Zanshin.Com Minor code cleanup and added more comments ** ** 1.0.0 2017-01-09 Arnd@SV-Zanshin.Com Cloned example from test program suite ** ** ** *******************************************************************************************************************/ @@ -36,7 +41,7 @@ const uint32_t SERIAL_SPEED = 115200; // /******************************************************************************************************************* ** Declare global variables and instantiate classes ** *******************************************************************************************************************/ -INA226_Class INA226; // INA class instantiation // +INA226_Class INA226; // INA class instantiation // /******************************************************************************************************************* ** Declare prototypes for all functions used ** *******************************************************************************************************************/ @@ -52,17 +57,13 @@ void setup() { // digitalWrite(GREEN_LED_PIN,true); // Turn on the LED // Serial.begin(SERIAL_SPEED); // Start serial communications // delay(2000); // Wait for comms port to connect // - Serial.print(F("\n\nDisplay INA226 Readings V1.0.0\n")); // Display program information // - INA226.begin( 1, // ± Amps maximum expected on bus // - 100000); // Shunt resistance in nanoOhm, // - // "100000" equates to 0.1 Ohm // + Serial.print(F("\n\nDisplay INA226 Readings V1.0.1\n")); // Display program information // + // The begin initialized the calibration for an expected ±1 Amps maximum current and for a 0.1Ohm resistor // + INA226.begin(1,100000); // // INA226.setAveraging(4); // Average each reading n-times // INA226.setBusConversion(); // Maximum conversion time 8.244ms // INA226.setShuntConversion(); // Maximum conversion time 8.244ms // - - INA226.setMode(INA_MODE_TRIGGERED_BOTH); - -// INA226.setMode(7); // Bus/shunt measured continuously // + INA226.setMode(INA_MODE_CONTINUOUS_BOTH); // Bus/shunt measured continuously // } // of method setup() // // /******************************************************************************************************************* ** This is the main program for the Arduino IDE, it is called in an infinite loop. The INA226 measurements are ** diff --git a/Examples/DisplayReadings/__vm/.DisplayReadings.vsarduino.h b/Examples/DisplayReadings/__vm/.DisplayReadings.vsarduino.h deleted file mode 100644 index b2d7b01..0000000 --- a/Examples/DisplayReadings/__vm/.DisplayReadings.vsarduino.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - Editor: http://www.visualmicro.com - visual micro and the arduino ide ignore this code during compilation. this code is automatically maintained by visualmicro, manual changes to this file will be overwritten - the contents of the Visual Micro sketch sub folder can be deleted prior to publishing a project - all non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!). - note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again - - Hardware: Arduino/Genuino Micro, Platform=avr, Package=arduino -*/ - -#define __AVR_ATmega32u4__ -#define __AVR_ATmega32U4__ -#define ARDUINO 106012 -#define ARDUINO_MAIN -#define F_CPU 16000000L -#define __AVR__ -#define F_CPU 16000000L -#define ARDUINO 106012 -#define ARDUINO_AVR_MICRO -#define ARDUINO_ARCH_AVR -#define USB_VID 0x2341 -#define USB_PID 0x8037 - -// -// - -#include "pins_arduino.h" -#include "arduino.h" -#include "DisplayReadings.ino" diff --git a/Examples/DisplayReadings/__vm/Compile.vmps.xml b/Examples/DisplayReadings/__vm/Compile.vmps.xml deleted file mode 100644 index 0d867bc..0000000 --- a/Examples/DisplayReadings/__vm/Compile.vmps.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/Examples/DisplayReadings/__vm/Configuration.Debug.vmps.xml b/Examples/DisplayReadings/__vm/Configuration.Debug.vmps.xml deleted file mode 100644 index 6119a90..0000000 --- a/Examples/DisplayReadings/__vm/Configuration.Debug.vmps.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Examples/DisplayReadings/__vm/Upload.vmps.xml b/Examples/DisplayReadings/__vm/Upload.vmps.xml deleted file mode 100644 index 0d867bc..0000000 --- a/Examples/DisplayReadings/__vm/Upload.vmps.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/INA226.cpp b/INA226.cpp index 9c39331..d32791d 100644 --- a/INA226.cpp +++ b/INA226.cpp @@ -13,7 +13,6 @@ *******************************************************************************************************************/ #include "INA226.h" // Include the header definition // #include // I2C Library definition // - /******************************************************************************************************************* ** Class Constructor instantiates the class but otherwise does nothing, that is performed in "begin" ** *******************************************************************************************************************/ @@ -22,7 +21,6 @@ INA226_Class::INA226_Class() {} // ** Class Destructor currently does nothing and is included for compatibility purposes ** *******************************************************************************************************************/ INA226_Class::~INA226_Class() {} // of unused class destructor // // - /******************************************************************************************************************* ** Method begin() does all of the initialization work ** *******************************************************************************************************************/ @@ -42,8 +40,7 @@ void INA226_Class::begin(const uint8_t maxBusAmps, const uint32_t nanoOhmR) { // } // of if-then we've found an INA226 // // } // of if-then we have found a live device // // } // for-next each possible I2C address // // -} // of method begin() //----------------------------------// - +} // of method begin() // // /******************************************************************************************************************* ** Method readByte reads 1 byte from the specified address ** *******************************************************************************************************************/ @@ -91,7 +88,6 @@ void INA226_Class::writeWord(const uint8_t addr, const uint16_t data) { // Wire.write((uint8_t)data); // and then the second // _TransmissionStatus = Wire.endTransmission(); // Close transmission // } // of method writeWord() // // - /******************************************************************************************************************* ** Method getBusMilliVolts retrieves the bus voltage measurement ** *******************************************************************************************************************/ @@ -101,11 +97,10 @@ uint16_t INA226_Class::getBusMilliVolts(const bool waitSwitch=false) { // busVoltage = (uint32_t)busVoltage*INA_BUS_VOLTAGE_LSB/100; // conversion to get milliVolts // if (!bitRead(_OperatingMode,2) && bitRead(_OperatingMode,1)) { // If triggered mode and bus active // int16_t configRegister = readWord(INA_CONFIGURATION_REGISTER); // Get the current register // - writeWord(INA_CONFIGURATION_REGISTER,configRegister); // Write back to trigger next // + writeWord(INA_CONFIGURATION_REGISTER,configRegister); // Write back to trigger next // } // of if-then triggered mode enabled // // return(busVoltage); // return computed milliVolts // } // of method getBusMilliVolts() // // - /******************************************************************************************************************* ** Method getShuntMicroVolts retrieves the shunt voltage measurement ** *******************************************************************************************************************/ @@ -119,7 +114,6 @@ int16_t INA226_Class::getShuntMicroVolts(const bool waitSwitch=false) { // } // of if-then triggered mode enabled // // return(shuntVoltage); // return computed microvolts // } // of method getShuntMicroVolts() // // - /******************************************************************************************************************* ** Method getBusMicroAmps retrieves the computed current in microamps. ** *******************************************************************************************************************/ @@ -128,7 +122,6 @@ int32_t INA226_Class::getBusMicroAmps() { // microAmps = (int64_t)microAmps*_Current_LSB/1000; // Convert to microamps // return(microAmps); // return computed microamps // } // of method getBusMicroAmps() // // - /******************************************************************************************************************* ** Method getBusMicroWatts retrieves the computed power in milliwatts ** *******************************************************************************************************************/ @@ -137,7 +130,6 @@ int32_t INA226_Class::getBusMicroWatts() { // microWatts = (int64_t)microWatts*_Power_LSB/1000; // Convert to milliwatts // return(microWatts); // return computed milliwatts // } // of method getBusMicroWatts() // // - /******************************************************************************************************************* ** Method setAveraging sets the hardware averaging for the different devices ** *******************************************************************************************************************/ @@ -156,7 +148,6 @@ void INA226_Class::setAveraging(const uint16_t averages = UINT16_MAX) { // configRegister |= (uint16_t)averageIndex << 9; // shift in the averages to register// writeWord(INA_CONFIGURATION_REGISTER,configRegister); // Save new value // } // of method setAveraging() // // - /******************************************************************************************************************* ** Method setBusConversion specifies the conversion rate (see datasheet for 8 distinct values) for the bus ** *******************************************************************************************************************/ @@ -167,7 +158,6 @@ void INA226_Class::setBusConversion(uint8_t convTime = UINT8_MAX) { // configRegister |= (uint16_t)convTime << 6; // shift in the averages to register// writeWord(INA_CONFIGURATION_REGISTER,configRegister); // Save new value // } // of method setBusConversion() // // - /******************************************************************************************************************* ** Method setShuntConversion specifies the conversion rate (see datasheet for 8 distinct values) for the shunt ** *******************************************************************************************************************/ @@ -178,7 +168,6 @@ void INA226_Class::setShuntConversion(uint8_t convTime = UINT8_MAX) { // configRegister |= (uint16_t)convTime << 3; // shift in the averages to register// writeWord(INA_CONFIGURATION_REGISTER,configRegister); // Save new value // } // of method setShuntConversion() // // - /******************************************************************************************************************* ** Method waitForConversion loops until the current conversion is marked as finished. If the conversion has ** ** completed already then the flag (and interrupt pin, if activated) is also reset. ** @@ -189,7 +178,6 @@ void INA226_Class::waitForConversion() { // conversionBits = readWord(INA_MASK_ENABLE_REGISTER)&(uint16_t)8; // // } // of while the conversion hasn't finished // // } // of method waitForConversion() // // - /******************************************************************************************************************* ** Method setAlertPinOnConversion configure the INA226 to pull the ALERT pin low when a conversion is complete ** *******************************************************************************************************************/ @@ -199,7 +187,6 @@ void INA226_Class::setAlertPinOnConversion(const bool alertState) { // else alertRegister |= (uint16_t)(1<<10); // turn on the alert bit // writeWord(INA_MASK_ENABLE_REGISTER,alertRegister); // Write register back to device // } // of method setAlertPinOnConversion // // - /******************************************************************************************************************* ** Method reset resets the INA226 using the first bit in the configuration register ** *******************************************************************************************************************/ @@ -207,7 +194,6 @@ void INA226_Class::reset() { // writeWord(INA_CONFIGURATION_REGISTER,0x8000); // Set most significant bit // delay(I2C_DELAY); // Let the INA226 reboot // } // of method reset // // - /******************************************************************************************************************* ** Method setMode allows the various mode combinations to be set. If no parameter is given the system goes back ** ** to the default startup mode. ** @@ -219,4 +205,4 @@ void INA226_Class::setMode(uint8_t mode = 7) { // configRegister |= mode; // shift in the mode settings // writeWord(INA_CONFIGURATION_REGISTER,configRegister); // Save new value // _OperatingMode = mode; // Save the operating mode // -} // of method setMode() // // \ No newline at end of file +} // of method setMode() // //