   1               		.file	"one_wire_temperature.c"
   2               		.arch at90can128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
 126               		.data
 127               	.LC0:
 128 0000 6F6E 655F 		.string	"one_wire_temperature.c"
 128      7769 7265 
 128      5F74 656D 
 128      7065 7261 
 128      7475 7265 
 129               		.text
 132               	.global	owiTemperatureFindParasiticlyPoweredDevices
 134               	owiTemperatureFindParasiticlyPoweredDevices:
   1:one_wire_temperature.c **** /*
   2:one_wire_temperature.c ****  * VERSION 1.0 Januar 7th 2010 LATE  File: 'one_wire_temperature.c'
   3:one_wire_temperature.c ****  * Author: Linda Fouedjio  based on Michael Traxler based and Giacomo Ortona's hadtempsens
   4:one_wire_temperature.c ****  * modified (heavily rather rebuild): Peter Zumbruch
   5:one_wire_temperature.c ****  */
   6:one_wire_temperature.c **** 
   7:one_wire_temperature.c **** #include <stdint.h>
   8:one_wire_temperature.c **** #include <stdio.h>
   9:one_wire_temperature.c **** #include <string.h>
  10:one_wire_temperature.c **** #include <math.h>
  11:one_wire_temperature.c **** #include <stdlib.h>
  12:one_wire_temperature.c **** #include <util/delay.h>
  13:one_wire_temperature.c **** #include <avr/pgmspace.h>
  14:one_wire_temperature.c **** 
  15:one_wire_temperature.c **** #include <avr/io.h>
  16:one_wire_temperature.c **** #include <avr/interrupt.h>
  17:one_wire_temperature.c **** #include <avr/sleep.h>
  18:one_wire_temperature.c **** #include <avr/iocan128.h>
  19:one_wire_temperature.c **** 
  20:one_wire_temperature.c **** #include "api.h"
  21:one_wire_temperature.c **** #include "api_define.h"
  22:one_wire_temperature.c **** #include "api_global.h"
  23:one_wire_temperature.c **** #include "api_constants.h"
  24:one_wire_temperature.c **** #include "api_debug.h"
  25:one_wire_temperature.c **** #include "can.h"
  26:one_wire_temperature.c **** #include "mem-check.h"
  27:one_wire_temperature.c **** 
  28:one_wire_temperature.c **** #include "one_wire.h"
  29:one_wire_temperature.c **** #include "one_wire_adc.h"
  30:one_wire_temperature.c **** #include "one_wire_dualSwitch.h"
  31:one_wire_temperature.c **** #include "read_write_register.h"
  32:one_wire_temperature.c **** #include "one_wire_simpleSwitch.h"
  33:one_wire_temperature.c **** #include "one_wire_temperature.h"
  34:one_wire_temperature.c **** 
  35:one_wire_temperature.c **** #include "OWIDeviceSpecific.h"
  36:one_wire_temperature.c **** #include "OWIHighLevelFunctions.h"
  37:one_wire_temperature.c **** #include "OWIBitFunctions.h"
  38:one_wire_temperature.c **** 
  39:one_wire_temperature.c **** #define DS1820_START_CONVERSION         0x44
  40:one_wire_temperature.c **** #define DS1820_READ_SCRATCHPAD          0xbe
  41:one_wire_temperature.c **** #define DS1820_WRITE_SCRATCHPAD         0x4E
  42:one_wire_temperature.c **** #define DS1820_CONFIG_REGISTER          0x7f
  43:one_wire_temperature.c **** #define DS1820_READ_POWER_SUPPLY        0xb4
  44:one_wire_temperature.c **** 
  45:one_wire_temperature.c **** #ifndef OWI_TEMPERATURE_MAX_CONVERSION_TIME_MILLISECONDS
  46:one_wire_temperature.c **** #define OWI_TEMPERATURE_MAX_CONVERSION_TIME_MILLISECONDS 750
  47:one_wire_temperature.c **** //#warning move this 20% shift to the code not directly into the default settings
  48:one_wire_temperature.c **** //#define OWI_TEMPERATURE_MAX_CONVERSION_TIME_MILLISECONDS 900
  49:one_wire_temperature.c **** #endif
  50:one_wire_temperature.c **** 
  51:one_wire_temperature.c **** #ifndef OWI_TEMPERATURE_CONVERSION_DELAY_MILLISECONDS
  52:one_wire_temperature.c **** #define OWI_TEMPERATURE_CONVERSION_DELAY_MILLISECONDS 10
  53:one_wire_temperature.c **** #endif
  54:one_wire_temperature.c **** 
  55:one_wire_temperature.c **** #warning TODO: make it changeable through API, by changing the resolution for DS18B20
  56:one_wire_temperature.c **** #ifndef OWI_TEMPERATURE_CONVERSION_TIME_RESOLUTION_SPLIT_FACTOR
  57:one_wire_temperature.c **** #define OWI_TEMPERATURE_CONVERSION_TIME_RESOLUTION_DEFAULT_SHIFT_FACTOR 0 /*12 bit resolution, divi
  58:one_wire_temperature.c **** //#define OWI_TEMPERATURE_CONVERSION_TIME_RESOLUTION_DEFAULT_SHIFT_FACTOR 1 /*11 bit resolution, di
  59:one_wire_temperature.c **** //#define OWI_TEMPERATURE_CONVERSION_TIME_RESOLUTION_DEFAULT_SHIFT_FACTOR 2 /*10 bit resolution, di
  60:one_wire_temperature.c **** //#define OWI_TEMPERATURE_CONVERSION_TIME_RESOLUTION_DEFAULT_SHIFT_FACTOR 3 /*9 bit resolution, div
  61:one_wire_temperature.c **** #endif
  62:one_wire_temperature.c **** 
  63:one_wire_temperature.c **** uint16_t owiTemperatureMask = 0;
  64:one_wire_temperature.c **** uint16_t owiTemperatureMask_DS18B20 = 0;
  65:one_wire_temperature.c **** uint16_t* p_owiTemperatureMask_DS18B20 = &owiTemperatureMask_DS18B20;
  66:one_wire_temperature.c **** uint16_t owiTemperatureMask_DS18S20 = 0;
  67:one_wire_temperature.c **** uint16_t* p_owiTemperatureMask_DS18S20 = &owiTemperatureMask_DS18S20;
  68:one_wire_temperature.c **** uint16_t owiTemperatureTimeoutMask = 0xFFFF; /*bit mask of non converted channels/pins 1:conversion
  69:one_wire_temperature.c **** uint8_t owiUseCommonTemperatureConversion_flag = TRUE;
  70:one_wire_temperature.c **** uint8_t owiTemperatureConversionGoingOnCountDown = 0;
  71:one_wire_temperature.c **** uint8_t owiTemperatureIgnoreConversionResponse = TRUE;
  72:one_wire_temperature.c **** uint16_t owiTemperatureMaxConversionTime = OWI_TEMPERATURE_MAX_CONVERSION_TIME_MILLISECONDS;
  73:one_wire_temperature.c **** uint8_t owiTemperatureForceParasiticMode = FALSE;
  74:one_wire_temperature.c **** uint8_t owiTemperatureParasiticModeMask = 0xFF; /*TODO*/
  75:one_wire_temperature.c **** uint8_t owiTemperatureResolution_DS18B20 = 12 - OWI_TEMPERATURE_CONVERSION_TIME_RESOLUTION_DEFAULT_
  76:one_wire_temperature.c **** uint8_t owiTemperatureSensorBySensorParasiticConversionFlag = FALSE;
  77:one_wire_temperature.c **** 
  78:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword00[] PROGMEM = "convert_only";
  79:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword01[] PROGMEM = "no_convert";
  80:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword02[] PROGMEM = "ignore_conv_response";
  81:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword03[] PROGMEM = "max_conv_time_ms";
  82:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword04[] PROGMEM = "force_parasitic_mode";
  83:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword05[] PROGMEM = "resolution_DS18B20"; /*TODO*/
  84:one_wire_temperature.c **** static const char owiTemperatureCommandKeyword06[] PROGMEM = "single_parasitic_conv";
  85:one_wire_temperature.c ****      
  86:one_wire_temperature.c **** const char* owiTemperatureCommandKeywords[] PROGMEM = {
  87:one_wire_temperature.c ****          owiTemperatureCommandKeyword00,
  88:one_wire_temperature.c ****          owiTemperatureCommandKeyword01,
  89:one_wire_temperature.c ****          owiTemperatureCommandKeyword02,
  90:one_wire_temperature.c ****          owiTemperatureCommandKeyword03,
  91:one_wire_temperature.c ****          owiTemperatureCommandKeyword04,
  92:one_wire_temperature.c ****          owiTemperatureCommandKeyword05,
  93:one_wire_temperature.c ****          owiTemperatureCommandKeyword06
  94:one_wire_temperature.c **** };
  95:one_wire_temperature.c **** 
  96:one_wire_temperature.c **** 
  97:one_wire_temperature.c **** /*
  98:one_wire_temperature.c ****  * void owiTemperatureSensors( struct uartStruct *ptr_uartStruct )
  99:one_wire_temperature.c ****  *
 100:one_wire_temperature.c ****  * this function checks if an command has been recognized and chooses either
 101:one_wire_temperature.c ****  * to go to
 102:one_wire_temperature.c ****  *      temperature reading
 103:one_wire_temperature.c ****  *      or
 104:one_wire_temperature.c ****  *      miscellaneous commands
 105:one_wire_temperature.c ****  *
 106:one_wire_temperature.c ****  */
 107:one_wire_temperature.c **** void owiTemperatureSensors( struct uartStruct *ptr_uartStruct )
 108:one_wire_temperature.c **** {
 109:one_wire_temperature.c ****    if ( 0 == strlen(ptr_owiStruct->command) )
 110:one_wire_temperature.c ****    {
 111:one_wire_temperature.c ****       owiTemperatureReadSensors(ptr_uartStruct, TRUE);
 112:one_wire_temperature.c ****    }
 113:one_wire_temperature.c ****    else
 114:one_wire_temperature.c ****    {
 115:one_wire_temperature.c ****       owiTemperatureMiscSubCommands( ptr_uartStruct );
 116:one_wire_temperature.c ****    }
 117:one_wire_temperature.c **** 
 118:one_wire_temperature.c ****    return;
 119:one_wire_temperature.c **** }
 120:one_wire_temperature.c **** 
 121:one_wire_temperature.c **** 
 122:one_wire_temperature.c **** /*
 123:one_wire_temperature.c ****  *this function contains all the functions that are necessary to
 124:one_wire_temperature.c ****  *read the temperature of sensor
 125:one_wire_temperature.c ****  * as input parameters the function needs only a keyword
 126:one_wire_temperature.c ****  * the function has no return parameter
 127:one_wire_temperature.c ****  */
 128:one_wire_temperature.c **** 
 129:one_wire_temperature.c **** void owiTemperatureReadSensors( struct uartStruct *ptr_uartStruct, uint8_t convert )
 130:one_wire_temperature.c **** {
 131:one_wire_temperature.c ****    /* check command syntax */
 132:one_wire_temperature.c ****    if ( 0 != owiTemperatureReadSensorsCheckCommandSyntax(ptr_uartStruct))
 133:one_wire_temperature.c ****    {
 134:one_wire_temperature.c ****       return;
 135:one_wire_temperature.c ****    }
 136:one_wire_temperature.c **** 
 137:one_wire_temperature.c ****    if ( 0 != owiTemperatureGetNumberOfDevicesAndSetTemperatureMask(ptr_uartStruct))
 138:one_wire_temperature.c ****    {
 139:one_wire_temperature.c ****       //#warning ADC in comparison has here an init - is the Initialization always needed here, or 
 140:one_wire_temperature.c **** 
 141:one_wire_temperature.c ****       /* conversions */
 142:one_wire_temperature.c **** 
 143:one_wire_temperature.c ****       switch (ptr_uartStruct->number_of_arguments)
 144:one_wire_temperature.c ****       {
 145:one_wire_temperature.c ****          case 0:
 146:one_wire_temperature.c ****             /* read all */
 147:one_wire_temperature.c ****             if ( FALSE != convert ) {owiTemperatureConversions(BUSES, TRUE, FALSE);}
 148:one_wire_temperature.c ****             break;
 149:one_wire_temperature.c ****          case 2:
 150:one_wire_temperature.c ****             /* read single ID w/ temperature conversion of all buses*/
 151:one_wire_temperature.c ****             /* during the filling it couldn't decide weather the 2nd argument
 152:one_wire_temperature.c ****              * is a flag or a value ... no we can, its a flag */
 153:one_wire_temperature.c ****             ptr_owiStruct->conv_flag = ( 0 != ptr_owiStruct->value);
 154:one_wire_temperature.c ****             if (TRUE == ptr_owiStruct->conv_flag) { owiTemperatureConversions(BUSES, TRUE, FALSE); 
 155:one_wire_temperature.c ****             break;
 156:one_wire_temperature.c ****       }
 157:one_wire_temperature.c **** 
 158:one_wire_temperature.c ****       /*
 159:one_wire_temperature.c ****        * access values
 160:one_wire_temperature.c ****        *
 161:one_wire_temperature.c ****        *   - read DS18B20
 162:one_wire_temperature.c ****        *   - read DS18S20
 163:one_wire_temperature.c ****        */
 164:one_wire_temperature.c **** 
 165:one_wire_temperature.c ****       int8_t familyCode[] = {
 166:one_wire_temperature.c ****                FAMILY_DS18B20_TEMP,
 167:one_wire_temperature.c ****                FAMILY_DS18S20_TEMP
 168:one_wire_temperature.c ****       };
 169:one_wire_temperature.c **** 
 170:one_wire_temperature.c ****       uint8_t foundDevices = 0;
 171:one_wire_temperature.c **** 
 172:one_wire_temperature.c ****       for (uint8_t index = 0; index < sizeof(familyCode)/sizeof(int8_t); index++)
 173:one_wire_temperature.c ****       {
 174:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWIADC ) & 0x1 ) )
 175:one_wire_temperature.c ****          {
 176:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
 177:one_wire_temperature.c ****                        PSTR("DEBUG (%4i, %s) fcn:readTempSensors call: FindFamilyDevicesAndGetValue
 178:one_wire_temperature.c ****                        __LINE__, __FILE__, familyCode[index]);
 179:one_wire_temperature.c ****             UART0_Send_Message_String(NULL, 0);
 180:one_wire_temperature.c ****          }
 181:one_wire_temperature.c **** 
 182:one_wire_temperature.c ****          foundDevices += owiFindFamilyDevicesAndAccessValues(BUSES, NumDevicesFound, familyCode[ind
 183:one_wire_temperature.c ****       }
 184:one_wire_temperature.c **** 
 185:one_wire_temperature.c ****       if ( TRUE == ptr_owiStruct->idSelect_flag && 0 == foundDevices)
 186:one_wire_temperature.c ****       {
 187:one_wire_temperature.c ****          general_errorCode = CommunicationError(ERRG, -1, TRUE, PSTR("no matching ID was found"), 4
 188:one_wire_temperature.c ****       }
 189:one_wire_temperature.c ****    }
 190:one_wire_temperature.c ****    else
 191:one_wire_temperature.c ****    {
 192:one_wire_temperature.c ****       general_errorCode = CommunicationError(ERRG, -1, TRUE, PSTR("no supported 1-wire temperature 
 193:one_wire_temperature.c ****    }
 194:one_wire_temperature.c **** }
 195:one_wire_temperature.c **** 
 196:one_wire_temperature.c **** uint8_t owiTemperatureReadSensorsCheckCommandSyntax(struct uartStruct *ptr_uartStruct)
 197:one_wire_temperature.c **** {
 198:one_wire_temperature.c ****    /* check for syntax:
 199:one_wire_temperature.c ****     *    allowed arguments are:
 200:one_wire_temperature.c ****     *       - (empty)
 201:one_wire_temperature.c ****     *       - ID
 202:one_wire_temperature.c ****     *       - ID conversion_flag
 203:one_wire_temperature.c ****     *       
 204:one_wire_temperature.c ****     *       return 0 if ok
 205:one_wire_temperature.c ****     *       else != 0
 206:one_wire_temperature.c ****     */
 207:one_wire_temperature.c **** 
 208:one_wire_temperature.c ****    int status = 0;
 209:one_wire_temperature.c ****    switch (ptr_uartStruct->number_of_arguments)
 210:one_wire_temperature.c ****    {
 211:one_wire_temperature.c ****       case 0:
 212:one_wire_temperature.c ****          break;
 213:one_wire_temperature.c ****       case 1:
 214:one_wire_temperature.c ****       case 2:
 215:one_wire_temperature.c ****          /* read single ID w/o temperature conversion
 216:one_wire_temperature.c ****           * or
 217:one_wire_temperature.c ****           * read single ID w/ temperature conversion of all buses*/
 218:one_wire_temperature.c ****          if ( FALSE == ptr_owiStruct->idSelect_flag)
 219:one_wire_temperature.c ****          {
 220:one_wire_temperature.c ****             snprintf_P(message, BUFFER_SIZE, PSTR("invalid arguments"));
 221:one_wire_temperature.c ****             CommunicationError(ERRA, -1, TRUE, message, COMMUNICATION_ERROR_USE_GLOBAL_MESSAGE_STRI
 222:one_wire_temperature.c ****             status = -1;
 223:one_wire_temperature.c ****             break;
 224:one_wire_temperature.c ****          }
 225:one_wire_temperature.c ****          break;
 226:one_wire_temperature.c ****       default:
 227:one_wire_temperature.c ****          snprintf_P(message, BUFFER_SIZE, PSTR("write argument: too many arguments"));
 228:one_wire_temperature.c ****          CommunicationError(ERRA, -1, TRUE, message, COMMUNICATION_ERROR_USE_GLOBAL_MESSAGE_STRING_
 229:one_wire_temperature.c ****          status = -1;
 230:one_wire_temperature.c ****          break;
 231:one_wire_temperature.c ****    }
 232:one_wire_temperature.c ****    return status;
 233:one_wire_temperature.c **** }
 234:one_wire_temperature.c **** 
 235:one_wire_temperature.c **** /*
 236:one_wire_temperature.c ****  * uint16_t owiTemperatureGetNumberOfDevicesAndSetTemperatureMask(struct uartStruct *ptr_uartStruct
 237:one_wire_temperature.c ****  *
 238:one_wire_temperature.c ****  * this function searches the one wire buses looking for 1-wire temp sensors
 239:one_wire_temperature.c ****  * it fills the busses where a temp device has been found to  owiTemperatureMask and
 240:one_wire_temperature.c ****  * returns the number of found devices
 241:one_wire_temperature.c ****  *
 242:one_wire_temperature.c ****  */
 243:one_wire_temperature.c **** 
 244:one_wire_temperature.c **** uint16_t owiTemperatureGetNumberOfDevicesAndSetTemperatureMask(struct uartStruct *ptr_uartStruct)
 245:one_wire_temperature.c **** {
 246:one_wire_temperature.c ****    uint16_t tempDevices = 0;
 247:one_wire_temperature.c ****    NumDevicesFound = owiReadDevicesID(BUSES);
 248:one_wire_temperature.c ****    if ( 0 == NumDevicesFound )
 249:one_wire_temperature.c ****    {
 250:one_wire_temperature.c ****       general_errorCode = CommunicationError(ERRG, GENERAL_ERROR_no_device_is_connected_to_the_bus,
 251:one_wire_temperature.c ****       tempDevices = 0;
 252:one_wire_temperature.c ****    }
 253:one_wire_temperature.c ****    else
 254:one_wire_temperature.c ****    {
 255:one_wire_temperature.c ****       /* reset mask of busses with sensors*/
 256:one_wire_temperature.c ****       owiTemperatureMask = 0;
 257:one_wire_temperature.c **** 
 258:one_wire_temperature.c ****       tempDevices += owiScanIDS(FAMILY_DS18B20_TEMP, p_owiTemperatureMask_DS18B20);
 259:one_wire_temperature.c ****       tempDevices += owiScanIDS(FAMILY_DS18S20_TEMP, p_owiTemperatureMask_DS18B20);
 260:one_wire_temperature.c ****       if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 261:one_wire_temperature.c ****       {
 262:one_wire_temperature.c ****          snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) misc temp commands 
 263:one_wire_temperature.c ****                     __LINE__, __FILE__, ptr_owiStruct->command);
 264:one_wire_temperature.c ****          UART0_Send_Message_String(NULL,0);
 265:one_wire_temperature.c ****       }
 266:one_wire_temperature.c **** 
 267:one_wire_temperature.c ****       if ( 0 < tempDevices )
 268:one_wire_temperature.c ****       {
 269:one_wire_temperature.c ****          owiTemperatureMask |= owiTemperatureMask_DS18B20;
 270:one_wire_temperature.c ****          owiTemperatureMask |= owiTemperatureMask_DS18S20;
 271:one_wire_temperature.c ****       }
 272:one_wire_temperature.c ****    }
 273:one_wire_temperature.c ****    if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 274:one_wire_temperature.c ****    {
 275:one_wire_temperature.c ****       snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) found %i temp devices"
 276:one_wire_temperature.c ****                  __LINE__, __FILE__, tempDevices);
 277:one_wire_temperature.c ****       UART0_Send_Message_String(NULL,0);
 278:one_wire_temperature.c ****    }
 279:one_wire_temperature.c **** 
 280:one_wire_temperature.c ****    return tempDevices;
 281:one_wire_temperature.c **** }
 282:one_wire_temperature.c **** 
 283:one_wire_temperature.c **** void owiTemperatureMiscSubCommandGetSetFlag(struct uartStruct *ptr_uartStruct, uint8_t *flag, const
 284:one_wire_temperature.c **** {
 285:one_wire_temperature.c ****    switch(ptr_uartStruct->number_of_arguments - 1 /* arguments of argument */)
 286:one_wire_temperature.c ****    {
 287:one_wire_temperature.c ****       case 0:
 288:one_wire_temperature.c ****          /* printout status*/
 289:one_wire_temperature.c **** 
 290:one_wire_temperature.c ****          /* generate message */
 291:one_wire_temperature.c ****          createReceiveHeader(ptr_uartStruct, uart_message_string, BUFFER_SIZE);
 292:one_wire_temperature.c ****          strncat(uart_message_string, setParameter[1],BUFFER_SIZE -1 );
 293:one_wire_temperature.c ****          strncat_P(uart_message_string, text, BUFFER_SIZE -1);
 294:one_wire_temperature.c ****          if (FALSE == invert)
 295:one_wire_temperature.c ****          {
 296:one_wire_temperature.c ****             strncat_P(uart_message_string, (  *flag)?PSTR("TRUE"):PSTR("FALSE"),BUFFER_SIZE -1);
 297:one_wire_temperature.c ****          }
 298:one_wire_temperature.c ****          else
 299:one_wire_temperature.c ****          {
 300:one_wire_temperature.c ****             strncat_P(uart_message_string, (! *flag)?PSTR("TRUE"):PSTR("FALSE"),BUFFER_SIZE -1);
 301:one_wire_temperature.c ****          }
 302:one_wire_temperature.c ****          /*send the data*/
 303:one_wire_temperature.c ****          UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 304:one_wire_temperature.c ****          /*clear strings*/
 305:one_wire_temperature.c ****          clearString(uart_message_string, BUFFER_SIZE);
 306:one_wire_temperature.c ****          clearString(message, BUFFER_SIZE);
 307:one_wire_temperature.c ****          break;
 308:one_wire_temperature.c ****       case 1:
 309:one_wire_temperature.c **** 
 310:one_wire_temperature.c ****          /* set status*/
 311:one_wire_temperature.c **** 
 312:one_wire_temperature.c ****          if (FALSE == invert)
 313:one_wire_temperature.c ****          {
 314:one_wire_temperature.c ****             *flag = (0 != ptr_owiStruct->value) ? TRUE: FALSE;
 315:one_wire_temperature.c ****          }
 316:one_wire_temperature.c ****          else
 317:one_wire_temperature.c ****          {
 318:one_wire_temperature.c ****             *flag = !(0 != ptr_owiStruct->value) ? TRUE: FALSE;
 319:one_wire_temperature.c ****          }
 320:one_wire_temperature.c **** 
 321:one_wire_temperature.c ****          /*recursive call to show change*/
 322:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=1;
 323:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetFlag(ptr_uartStruct, flag, text, invert);
 324:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=2;
 325:one_wire_temperature.c ****          break;
 326:one_wire_temperature.c ****       default:
 327:one_wire_temperature.c ****          general_errorCode = CommunicationError(ERRG, -1001, TRUE, PSTR("invalid number of argument
 328:one_wire_temperature.c ****          break;
 329:one_wire_temperature.c ****    }
 330:one_wire_temperature.c **** }
 331:one_wire_temperature.c **** 
 332:one_wire_temperature.c **** void owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion(struct uartStruct *ptr_uartStr
 333:one_wire_temperature.c **** {
 334:one_wire_temperature.c ****    uint8_t *flag = &owiTemperatureSensorBySensorParasiticConversionFlag;
 335:one_wire_temperature.c **** 
 336:one_wire_temperature.c ****    //owiTemperatureMiscSubCommandGetSetFlag(ptr_uartStruct,flag,PSTR(":"),FALSE);
 337:one_wire_temperature.c ****    //int8_t keywordIndex = owiTemperatureCommandKeyNumber_FORCE_PARASITIC_MODE;
 338:one_wire_temperature.c ****    switch(ptr_uartStruct->number_of_arguments - 1 /* arguments of argument */)
 339:one_wire_temperature.c ****    {
 340:one_wire_temperature.c ****       case 0:
 341:one_wire_temperature.c ****          /* printout status*/
 342:one_wire_temperature.c **** 
 343:one_wire_temperature.c ****          /* generate message */
 344:one_wire_temperature.c ****          createExtendedSubCommandReceiveResponseHeader(ptr_uartStruct, -1,
 345:one_wire_temperature.c ****                                                        owiTemperatureCommandKeyNumber_SINGLE_SENSOR
 346:one_wire_temperature.c ****                                                        owiTemperatureCommandKeywords);
 347:one_wire_temperature.c ****          strncat_P(uart_message_string, ( FALSE != (*flag)) ? PSTR(" TRUE"):PSTR(" FALSE"),BUFFER_S
 348:one_wire_temperature.c ****          /*send the data*/
 349:one_wire_temperature.c ****          UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 350:one_wire_temperature.c ****          /*clear strings*/
 351:one_wire_temperature.c ****          clearString(uart_message_string, BUFFER_SIZE);
 352:one_wire_temperature.c ****          break;
 353:one_wire_temperature.c ****       case 1:
 354:one_wire_temperature.c **** #if 0
 355:one_wire_temperature.c ****          /* set status*/
 356:one_wire_temperature.c ****          (*flag) = (0 != ptr_owiStruct->value) ? TRUE: FALSE;
 357:one_wire_temperature.c **** #else
 358:one_wire_temperature.c ****          /* toggle status*/
 359:one_wire_temperature.c **** 	owiTemperatureSensorBySensorParasiticConversionFlag = ( FALSE != owiTemperatureSensorBySensorParas
 360:one_wire_temperature.c **** #endif
 361:one_wire_temperature.c ****          /*recursive call to show change*/
 362:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=1;
 363:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion(ptr_uartStruct);
 364:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=2;
 365:one_wire_temperature.c ****          break;
 366:one_wire_temperature.c ****       default:
 367:one_wire_temperature.c ****          general_errorCode = CommunicationError(ERRG, -1001, TRUE, PSTR("invalid number of argument
 368:one_wire_temperature.c ****          break;
 369:one_wire_temperature.c ****    }
 370:one_wire_temperature.c **** }
 371:one_wire_temperature.c **** 
 372:one_wire_temperature.c **** void owiTemperatureMiscSubCommandGetSetForceParasiticMode(struct uartStruct *ptr_uartStruct)
 373:one_wire_temperature.c **** {
 374:one_wire_temperature.c ****    uint8_t *flag = &owiTemperatureForceParasiticMode;
 375:one_wire_temperature.c **** 
 376:one_wire_temperature.c ****    //owiTemperatureMiscSubCommandGetSetFlag(ptr_uartStruct,flag,PSTR(":"),FALSE);
 377:one_wire_temperature.c ****    //int8_t keywordIndex = owiTemperatureCommandKeyNumber_FORCE_PARASITIC_MODE;
 378:one_wire_temperature.c ****    switch(ptr_uartStruct->number_of_arguments - 1 /* arguments of argument */)
 379:one_wire_temperature.c ****    {
 380:one_wire_temperature.c ****       case 0:
 381:one_wire_temperature.c ****          /* printout status*/
 382:one_wire_temperature.c **** 
 383:one_wire_temperature.c ****          /* generate message */
 384:one_wire_temperature.c ****          createExtendedSubCommandReceiveResponseHeader(ptr_uartStruct, -1,
 385:one_wire_temperature.c ****                                                        owiTemperatureCommandKeyNumber_FORCE_PARASIT
 386:one_wire_temperature.c ****                                                        owiTemperatureCommandKeywords);
 387:one_wire_temperature.c ****          strncat_P(uart_message_string, ( FALSE != (*flag)) ? PSTR(" TRUE"):PSTR(" FALSE"),BUFFER_S
 388:one_wire_temperature.c ****          /*send the data*/
 389:one_wire_temperature.c ****          UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 390:one_wire_temperature.c ****          /*clear strings*/
 391:one_wire_temperature.c ****          clearString(uart_message_string, BUFFER_SIZE);
 392:one_wire_temperature.c ****          break;
 393:one_wire_temperature.c ****       case 1:
 394:one_wire_temperature.c **** #warning TODO why use '#if' 0? 
 395:one_wire_temperature.c **** #if 0
 396:one_wire_temperature.c ****          /* set status*/
 397:one_wire_temperature.c ****          (*flag) = (0 != ptr_owiStruct->value) ? TRUE: FALSE;
 398:one_wire_temperature.c **** #else
 399:one_wire_temperature.c ****          /* toggle status*/
 400:one_wire_temperature.c **** 	owiTemperatureForceParasiticMode = ( FALSE != owiTemperatureForceParasiticMode) ;
 401:one_wire_temperature.c **** #endif
 402:one_wire_temperature.c ****          /*recursive call to show change*/
 403:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=1;
 404:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetForceParasiticMode(ptr_uartStruct);
 405:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=2;
 406:one_wire_temperature.c ****          break;
 407:one_wire_temperature.c ****       default:
 408:one_wire_temperature.c ****          general_errorCode = CommunicationError(ERRG, -1001, TRUE, PSTR("invalid number of argument
 409:one_wire_temperature.c ****          break;
 410:one_wire_temperature.c ****    }
 411:one_wire_temperature.c **** }
 412:one_wire_temperature.c **** 
 413:one_wire_temperature.c **** void owiTemperatureMiscSubCommandGetSetMaxConversionTime(struct uartStruct *ptr_uartStruct)
 414:one_wire_temperature.c **** {
 415:one_wire_temperature.c ****    switch(ptr_uartStruct->number_of_arguments - 1 /* arguments of argument */)
 416:one_wire_temperature.c ****    {
 417:one_wire_temperature.c ****       case 0:
 418:one_wire_temperature.c ****          /* printout status*/
 419:one_wire_temperature.c **** 
 420:one_wire_temperature.c ****          /* generate message */
 421:one_wire_temperature.c ****          createReceiveHeader(ptr_uartStruct, uart_message_string, BUFFER_SIZE);
 422:one_wire_temperature.c ****          strncat(uart_message_string, setParameter[1],BUFFER_SIZE -1 );
 423:one_wire_temperature.c ****          snprintf_P(uart_message_string, BUFFER_SIZE -1 , PSTR("%s%i (0x%x)"),
 424:one_wire_temperature.c ****                     owiTemperatureMaxConversionTime, owiTemperatureMaxConversionTime);
 425:one_wire_temperature.c ****          /*send the data*/
 426:one_wire_temperature.c ****          UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 427:one_wire_temperature.c ****          break;
 428:one_wire_temperature.c ****       case 1:
 429:one_wire_temperature.c ****          /* set status*/
 430:one_wire_temperature.c ****          owiTemperatureMaxConversionTime = ptr_owiStruct->value;
 431:one_wire_temperature.c **** 
 432:one_wire_temperature.c ****          /*recursive call to show change*/
 433:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=1;
 434:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetMaxConversionTime(ptr_uartStruct);
 435:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=2;
 436:one_wire_temperature.c ****          break;
 437:one_wire_temperature.c ****       default:
 438:one_wire_temperature.c ****          general_errorCode = CommunicationError(ERRG, -1001, TRUE, PSTR("invalid number of argument
 439:one_wire_temperature.c ****          break;
 440:one_wire_temperature.c ****    }
 441:one_wire_temperature.c **** }
 442:one_wire_temperature.c **** 
 443:one_wire_temperature.c **** void owiTemperatureMiscSubCommandGetSetResolution_DS18B20(struct uartStruct *ptr_uartStruct)
 444:one_wire_temperature.c **** {
 445:one_wire_temperature.c ****    switch(ptr_uartStruct->number_of_arguments - 1 /* arguments of argument */)
 446:one_wire_temperature.c ****    {
 447:one_wire_temperature.c ****       case 0:
 448:one_wire_temperature.c ****          /* printout status*/
 449:one_wire_temperature.c **** 
 450:one_wire_temperature.c ****          /* generate message */
 451:one_wire_temperature.c ****          createReceiveHeader(ptr_uartStruct, uart_message_string, BUFFER_SIZE);
 452:one_wire_temperature.c ****          strncat(uart_message_string, setParameter[1],BUFFER_SIZE -1 );
 453:one_wire_temperature.c ****          snprintf_P(uart_message_string, BUFFER_SIZE -1 , PSTR("%s%i "),
 454:one_wire_temperature.c ****                      owiTemperatureResolution_DS18B20);
 455:one_wire_temperature.c ****          /*send the data*/
 456:one_wire_temperature.c ****          UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 457:one_wire_temperature.c ****          break;
 458:one_wire_temperature.c ****       case 1:
 459:one_wire_temperature.c ****       {
 460:one_wire_temperature.c ****          uint16_t value = ptr_owiStruct->value;
 461:one_wire_temperature.c **** 
 462:one_wire_temperature.c ****          /* set status*/
 463:one_wire_temperature.c ****          switch(value)
 464:one_wire_temperature.c ****          {
 465:one_wire_temperature.c ****             case 12:
 466:one_wire_temperature.c ****             case 11:
 467:one_wire_temperature.c ****             case 10:
 468:one_wire_temperature.c ****             case  9:
 469:one_wire_temperature.c ****                owiTemperatureResolution_DS18B20 = value;
 470:one_wire_temperature.c ****                break;
 471:one_wire_temperature.c ****             default:
 472:one_wire_temperature.c ****                clearString(message, BUFFER_SIZE);
 473:one_wire_temperature.c ****                snprintf_P(message, BUFFER_SIZE-1 , PSTR("%s value '%i' out of range [9,..,12]"),val
 474:one_wire_temperature.c **** 
 475:one_wire_temperature.c ****                general_errorCode = CommunicationError(ERRG, -1001, TRUE, NULL ,
 476:one_wire_temperature.c ****                                                          COMMUNICATION_ERROR_USE_GLOBAL_MESSAGE_STR
 477:one_wire_temperature.c ****                return;
 478:one_wire_temperature.c ****                break;
 479:one_wire_temperature.c ****          }
 480:one_wire_temperature.c **** 
 481:one_wire_temperature.c ****          /*recursive call to show change*/
 482:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=1;
 483:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetResolution_DS18B20(ptr_uartStruct);
 484:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments=2;
 485:one_wire_temperature.c ****       }
 486:one_wire_temperature.c ****       break;
 487:one_wire_temperature.c ****       default:
 488:one_wire_temperature.c ****          general_errorCode = CommunicationError(ERRG, -1001, TRUE, PSTR("invalid number of argument
 489:one_wire_temperature.c ****          break;
 490:one_wire_temperature.c ****    }
 491:one_wire_temperature.c **** }
 492:one_wire_temperature.c **** 
 493:one_wire_temperature.c **** void owiTemperatureMiscSubCommandConvertOnly(struct uartStruct *ptr_uartStruct)
 494:one_wire_temperature.c **** {
 495:one_wire_temperature.c ****    switch(ptr_uartStruct->number_of_arguments - 1 /* arguments of argument */)
 496:one_wire_temperature.c ****    {
 497:one_wire_temperature.c ****       case 0:
 498:one_wire_temperature.c ****          if ( 0 != owiTemperatureGetNumberOfDevicesAndSetTemperatureMask(ptr_uartStruct))
 499:one_wire_temperature.c ****          {
 500:one_wire_temperature.c ****             if ( 0 == owiTemperatureConversions(BUSES, TRUE, FALSE))
 501:one_wire_temperature.c ****             {
 502:one_wire_temperature.c ****                createReceiveHeader(ptr_uartStruct, uart_message_string, BUFFER_SIZE);
 503:one_wire_temperature.c ****                strncat(uart_message_string, setParameter[1],BUFFER_SIZE -1 );
 504:one_wire_temperature.c ****                strncat_P(uart_message_string, PSTR(" done"),BUFFER_SIZE -1 );
 505:one_wire_temperature.c ****                /*send the data*/
 506:one_wire_temperature.c ****                UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 507:one_wire_temperature.c ****                /*clear strings*/
 508:one_wire_temperature.c ****                clearString(uart_message_string, BUFFER_SIZE);
 509:one_wire_temperature.c ****             }
 510:one_wire_temperature.c ****          }
 511:one_wire_temperature.c ****          else
 512:one_wire_temperature.c ****          {
 513:one_wire_temperature.c ****             general_errorCode = CommunicationError(ERRG, -1, TRUE, PSTR("no supported 1-wire temper
 514:one_wire_temperature.c ****          }
 515:one_wire_temperature.c ****          break;
 516:one_wire_temperature.c ****       case 1:
 517:one_wire_temperature.c ****          /* any further argument*/
 518:one_wire_temperature.c ****          if ( 0 != owiTemperatureGetNumberOfDevicesAndSetTemperatureMask(ptr_uartStruct))
 519:one_wire_temperature.c ****          {
 520:one_wire_temperature.c ****             if ( 0 == owiTemperatureConversions(BUSES, FALSE, FALSE))
 521:one_wire_temperature.c ****             {
 522:one_wire_temperature.c ****                createReceiveHeader(ptr_uartStruct, uart_message_string, BUFFER_SIZE);
 523:one_wire_temperature.c ****                strncat(uart_message_string, setParameter[1],BUFFER_SIZE -1 );
 524:one_wire_temperature.c ****                strncat_P(uart_message_string, PSTR(" "),BUFFER_SIZE -1 );
 525:one_wire_temperature.c ****                strncat(uart_message_string, setParameter[2],BUFFER_SIZE -1 );
 526:one_wire_temperature.c ****                strncat_P(uart_message_string, PSTR(" done"),BUFFER_SIZE -1 );
 527:one_wire_temperature.c ****                /*send the data*/
 528:one_wire_temperature.c ****                UART0_Send_Message_String(uart_message_string, BUFFER_SIZE - 1);
 529:one_wire_temperature.c ****                /*clear strings*/
 530:one_wire_temperature.c ****                clearString(uart_message_string, BUFFER_SIZE);
 531:one_wire_temperature.c ****             }
 532:one_wire_temperature.c ****          }
 533:one_wire_temperature.c ****          else
 534:one_wire_temperature.c ****          {
 535:one_wire_temperature.c ****             general_errorCode = CommunicationError(ERRG, -1, TRUE, PSTR("no supported 1-wire temper
 536:one_wire_temperature.c ****          }
 537:one_wire_temperature.c ****          break;
 538:one_wire_temperature.c ****       default:
 539:one_wire_temperature.c ****          CommunicationError(ERRA, -1, 0, PSTR("invalid number of arguments"), -1);
 540:one_wire_temperature.c ****          break;
 541:one_wire_temperature.c ****    }
 542:one_wire_temperature.c **** }
 543:one_wire_temperature.c **** 
 544:one_wire_temperature.c **** void owiTemperatureMiscSubCommands( struct uartStruct *ptr_uartStruct )
 545:one_wire_temperature.c **** {
 546:one_wire_temperature.c ****    uint16_t index = 0;
 547:one_wire_temperature.c ****    // find matching temperature command keyword
 548:one_wire_temperature.c ****    while (index < owiTemperatureCommandKeyNumber_MAXIMUM_NUMBER)
 549:one_wire_temperature.c ****    {
 550:one_wire_temperature.c ****       if ( 0 == strncmp_P(ptr_owiStruct->command, (const char*) (pgm_read_word( &(owiTemperatureCom
 551:one_wire_temperature.c ****       {
 552:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 553:one_wire_temperature.c ****          {
 554:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) misc temp comman
 555:one_wire_temperature.c ****                        __LINE__, __FILE__, ptr_owiStruct->command);
 556:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 557:one_wire_temperature.c ****          }
 558:one_wire_temperature.c ****          break;
 559:one_wire_temperature.c ****       }
 560:one_wire_temperature.c ****       else
 561:one_wire_temperature.c ****       {
 562:one_wire_temperature.c ****          if ( eventDebugVerbose <= debug && ((debugMask >> debugOWITemperatures) & 0x1))
 563:one_wire_temperature.c ****          {
 564:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) misc temp comman
 565:one_wire_temperature.c ****                        __LINE__, __FILE__, &setParameter[1][0]);
 566:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 567:one_wire_temperature.c ****          }
 568:one_wire_temperature.c ****       }
 569:one_wire_temperature.c ****       index++;
 570:one_wire_temperature.c ****    }
 571:one_wire_temperature.c **** 
 572:one_wire_temperature.c ****    switch (index)
 573:one_wire_temperature.c ****    {
 574:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_CONVERT_ONLY:
 575:one_wire_temperature.c ****          owiTemperatureMiscSubCommandConvertOnly(ptr_uartStruct);
 576:one_wire_temperature.c ****          break;
 577:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_NO_CONVERT:
 578:one_wire_temperature.c ****          ptr_uartStruct->number_of_arguments = 0;
 579:one_wire_temperature.c ****          clearString(setParameter[1], MAX_LENGTH_PARAMETER);
 580:one_wire_temperature.c ****          owiTemperatureReadSensors(ptr_uartStruct, FALSE);
 581:one_wire_temperature.c ****          break;
 582:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_IGNORE_CONVERSION_RESPONSE:
 583:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetFlag(ptr_uartStruct, &owiTemperatureIgnoreConversionResp
 584:one_wire_temperature.c ****          break;
 585:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_MAX_CONVERSION_TIME_MS:
 586:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetMaxConversionTime(ptr_uartStruct);
 587:one_wire_temperature.c ****          break;
 588:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_FORCE_PARASITIC_MODE:
 589:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetForceParasiticMode(ptr_uartStruct);
 590:one_wire_temperature.c ****          break;
 591:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_RESOLUTION_DS18B20:
 592:one_wire_temperature.c ****          owiTemperatureMiscSubCommandGetSetResolution_DS18B20(ptr_uartStruct);
 593:one_wire_temperature.c ****          break;
 594:one_wire_temperature.c ****       case owiTemperatureCommandKeyNumber_SINGLE_SENSOR_PARSITIC_CONVERSION:
 595:one_wire_temperature.c **** 	 owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion(ptr_uartStruct);
 596:one_wire_temperature.c **** 	break;
 597:one_wire_temperature.c ****       default:
 598:one_wire_temperature.c ****          CommunicationError(ERRA, -1, 0, PSTR("invalid argument"), -1);
 599:one_wire_temperature.c ****          return;
 600:one_wire_temperature.c ****          break;
 601:one_wire_temperature.c ****    }
 602:one_wire_temperature.c **** 
 603:one_wire_temperature.c ****    return;
 604:one_wire_temperature.c **** }
 605:one_wire_temperature.c **** 
 606:one_wire_temperature.c **** void owiTemperatureConversionParasitic( unsigned char pins )
 607:one_wire_temperature.c **** {
 608:one_wire_temperature.c ****    unsigned char data = DS1820_START_CONVERSION;
 609:one_wire_temperature.c ****    unsigned char temp;
 610:one_wire_temperature.c ****    unsigned char i;
 611:one_wire_temperature.c **** 
 612:one_wire_temperature.c ****    // Do once for each bit
 613:one_wire_temperature.c ****    for ( i = 0; i < 8 ; i++ )
 614:one_wire_temperature.c ****    {
 615:one_wire_temperature.c ****       // Determine if lsb is '0' or '1' and transmit corresponding
 616:one_wire_temperature.c ****       // waveform on the bus.
 617:one_wire_temperature.c ****       temp = data & 0x01;
 618:one_wire_temperature.c ****       if ( temp )
 619:one_wire_temperature.c ****       {
 620:one_wire_temperature.c ****          OWI_WriteBit1(pins);
 621:one_wire_temperature.c ****       }
 622:one_wire_temperature.c ****       else
 623:one_wire_temperature.c ****       {
 624:one_wire_temperature.c ****          if (7 == i)
 625:one_wire_temperature.c ****          {
 626:one_wire_temperature.c ****             OWI_WriteBit0ShortRelease(pins);
 627:one_wire_temperature.c ****          }
 628:one_wire_temperature.c ****          else
 629:one_wire_temperature.c ****          {
 630:one_wire_temperature.c ****             OWI_WriteBit0(pins);
 631:one_wire_temperature.c ****          }
 632:one_wire_temperature.c ****       }
 633:one_wire_temperature.c ****       // Right shift the data to get next bit.
 634:one_wire_temperature.c ****       data >>= 1;
 635:one_wire_temperature.c ****    }
 636:one_wire_temperature.c **** 
 637:one_wire_temperature.c ****    // lowering pin on PORTA3, to trigger external strong pull-up
 638:one_wire_temperature.c ****    // this must come within max 10us after the last writeBit operation, critical if writing a 0,
 639:one_wire_temperature.c ****    // therefore special OWI_WriteBit0ShortRelease call
 640:one_wire_temperature.c **** #warning TODO unused mode stems from mdc relay, clarify
 641:one_wire_temperature.c **** #if 0
 642:one_wire_temperature.c **** #warning name pin 0x8
 643:one_wire_temperature.c ****    PORTA = PORTA & (~0x8);
 644:one_wire_temperature.c **** 
 645:one_wire_temperature.c ****    _delay_ms(100);
 646:one_wire_temperature.c ****    _delay_ms(100);
 647:one_wire_temperature.c ****    _delay_ms(100);
 648:one_wire_temperature.c ****    _delay_ms(100);
 649:one_wire_temperature.c ****    _delay_ms(100);
 650:one_wire_temperature.c ****    _delay_ms(100);
 651:one_wire_temperature.c ****    _delay_ms(100);
 652:one_wire_temperature.c ****    _delay_ms(100);
 653:one_wire_temperature.c ****    _delay_ms(100);
 654:one_wire_temperature.c **** 
 655:one_wire_temperature.c ****    // raising pin on PORTA3, to release external strong pull-up
 656:one_wire_temperature.c ****    PORTA |= 0x8;
 657:one_wire_temperature.c **** 
 658:one_wire_temperature.c **** #else
 659:one_wire_temperature.c **** //   PORTA = PORTA & (~0x8);
 660:one_wire_temperature.c ****    
 661:one_wire_temperature.c ****    PORTA = 0xff;
 662:one_wire_temperature.c ****    DDRA = 0xff;
 663:one_wire_temperature.c **** 
 664:one_wire_temperature.c ****    _delay_ms(100);
 665:one_wire_temperature.c ****    _delay_ms(100);
 666:one_wire_temperature.c ****    _delay_ms(100);
 667:one_wire_temperature.c ****    _delay_ms(100);
 668:one_wire_temperature.c ****    _delay_ms(100);
 669:one_wire_temperature.c ****    _delay_ms(100);
 670:one_wire_temperature.c ****    _delay_ms(100);
 671:one_wire_temperature.c ****    _delay_ms(100);
 672:one_wire_temperature.c ****    _delay_ms(100);
 673:one_wire_temperature.c **** 
 674:one_wire_temperature.c ****    // raising pin on PORTA3, to release external strong pull-up
 675:one_wire_temperature.c ****    DDRA =0x00; /* disable output */
 676:one_wire_temperature.c ****    PORTA = 0;
 677:one_wire_temperature.c **** #endif
 678:one_wire_temperature.c **** }
 679:one_wire_temperature.c **** 
 680:one_wire_temperature.c **** void owiTemperatureSensorBySensorParasiticConversion(uint8_t currentPins, uint16_t selectedDeviceIn
 681:one_wire_temperature.c **** {
 682:one_wire_temperature.c ****    uint8_t deviceIndex = 0;
 683:one_wire_temperature.c ****    static const int8_t familyCode[] = {
 684:one_wire_temperature.c ****             FAMILY_DS18B20_TEMP,
 685:one_wire_temperature.c ****             FAMILY_DS18S20_TEMP
 686:one_wire_temperature.c ****    };
 687:one_wire_temperature.c ****    uint8_t skipDevice = FALSE;
 688:one_wire_temperature.c ****    uint8_t index = 0;
 689:one_wire_temperature.c ****   
 690:one_wire_temperature.c ****    /* 
 691:one_wire_temperature.c ****    OWI_SendByte(OWI_ROM_SKIP, currentPins);
 692:one_wire_temperature.c ****    owiTemperatureConversionParasitic(currentPins);
 693:one_wire_temperature.c ****    return;
 694:one_wire_temperature.c ****   */
 695:one_wire_temperature.c **** 
 696:one_wire_temperature.c ****    for ( deviceIndex = 0 ; deviceIndex < countDEV ; deviceIndex++ )
 697:one_wire_temperature.c ****    {
 698:one_wire_temperature.c ****       /* no overlap of currentPins and devicePin */
 699:one_wire_temperature.c ****       if ( 0 == (currentPins & owi_IDs_pinMask[deviceIndex])) { continue; }
 700:one_wire_temperature.c **** 
 701:one_wire_temperature.c ****       skipDevice = FALSE;
 702:one_wire_temperature.c ****       for (index = 0; index < sizeof(familyCode)/sizeof(int8_t); index++)
 703:one_wire_temperature.c ****       {
 704:one_wire_temperature.c ****          /* is index selection used and does current device index match?*/
 705:one_wire_temperature.c ****          if ( 0 <= selectedDeviceIndex && deviceIndex != selectedDeviceIndex)
 706:one_wire_temperature.c ****          { skipDevice = TRUE; break; }
 707:one_wire_temperature.c **** 
 708:one_wire_temperature.c ****          /* does familyID matches current ID */
 709:one_wire_temperature.c ****          if ( familyCode[index] != owi_IDs[deviceIndex][0] )  { skipDevice = TRUE; break; }
 710:one_wire_temperature.c **** 
 711:one_wire_temperature.c ****          /* bus mask matches device's bus ? */
 712:one_wire_temperature.c ****          if ( 0 == ( ( owiBusMask & owi_IDs_pinMask[deviceIndex] ) & 0xFF ) )  { skipDevice = TRUE;
 713:one_wire_temperature.c ****       }
 714:one_wire_temperature.c ****       /* skip if skipDevice is set */
 715:one_wire_temperature.c ****       if ( FALSE != skipDevice ) { continue;}
 716:one_wire_temperature.c **** 
 717:one_wire_temperature.c ****       OWI_MatchRom(owi_IDs[deviceIndex], owi_IDs_pinMask[deviceIndex]);
 718:one_wire_temperature.c ****       owiTemperatureConversionParasitic(owi_IDs_pinMask[deviceIndex]);
 719:one_wire_temperature.c ****    }
 720:one_wire_temperature.c **** }
 721:one_wire_temperature.c **** 
 722:one_wire_temperature.c **** int owiTemperatureConversions( uint8_t *pins, uint8_t waitForConversion, uint8_t spawnReleaseBlock 
 723:one_wire_temperature.c **** {
 724:one_wire_temperature.c ****    if ( eventDebugVerbose <= debug )
 725:one_wire_temperature.c ****    {
 726:one_wire_temperature.c ****       snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) "), __LINE__, __FILE__
 727:one_wire_temperature.c ****       UART0_Send_Message_String(NULL,0);
 728:one_wire_temperature.c ****    }
 729:one_wire_temperature.c **** 
 730:one_wire_temperature.c ****    uint16_t currentTimeoutMask = 0;
 731:one_wire_temperature.c ****    uint16_t maxConversionTime = owiTemperatureMaxConversionTime;
 732:one_wire_temperature.c ****    static unsigned char timeout_flag;
 733:one_wire_temperature.c ****    static uint32_t count;
 734:one_wire_temperature.c ****    static uint32_t maxcount;
 735:one_wire_temperature.c ****    uint8_t currentPins = 0x0;
 736:one_wire_temperature.c ****    uint8_t busPatternIndexMax = PIN_BUS;
 737:one_wire_temperature.c ****    uint8_t status = 0;
 738:one_wire_temperature.c ****    uint16_t selectedDeviceIndex = -1;
 739:one_wire_temperature.c **** 
 740:one_wire_temperature.c ****    /* check for parasitic lines , non verbose*/
 741:one_wire_temperature.c ****    owiTemperatureFindParasiticlyPoweredDevices(FALSE);
 742:one_wire_temperature.c **** 
 743:one_wire_temperature.c ****    /* fill ID table and ID bus table OUTSIDE this loop !
 744:one_wire_temperature.c ****     *   if some of the pins have parasitic devices 
 745:one_wire_temperature.c ****     *   or 
 746:one_wire_temperature.c ****     *   parasitic mode is forced
 747:one_wire_temperature.c ****     */
 748:one_wire_temperature.c ****    if ( 0 != owiTemperatureParasiticModeMask || FALSE != owiTemperatureForceParasiticMode )
 749:one_wire_temperature.c ****    {
 750:one_wire_temperature.c ****       /* check if no devices availabe, then return */
 751:one_wire_temperature.c ****       if ( 0 == owiTemperatureGetNumberOfDevicesAndSetTemperatureMask(ptr_uartStruct))
 752:one_wire_temperature.c ****       {
 753:one_wire_temperature.c ****          if ( eventDebug <= debug && ((debugMask >> debugOWITemperatures) & 1))
 754:one_wire_temperature.c ****          {
 755:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
 756:one_wire_temperature.c ****                        PSTR("DEBUG (%4i, %s) owiTemperatureConversion: no temp sensors at all"),
 757:one_wire_temperature.c ****                        __LINE__, __FILE__, maxConversionTime, currentPins);
 758:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 759:one_wire_temperature.c ****          }
 760:one_wire_temperature.c ****          return 0;
 761:one_wire_temperature.c ****       }
 762:one_wire_temperature.c ****    }
 763:one_wire_temperature.c **** 
 764:one_wire_temperature.c ****    /* if a single id has been chosen,
 765:one_wire_temperature.c ****       find its corresponding index in the IDs list
 766:one_wire_temperature.c ****    */
 767:one_wire_temperature.c ****    if (ptr_owiStruct->idSelect_flag)
 768:one_wire_temperature.c ****    {
 769:one_wire_temperature.c ****       selectedDeviceIndex = owiFindIdAndGetIndex(ptr_owiStruct->id);
 770:one_wire_temperature.c ****    }
 771:one_wire_temperature.c **** 
 772:one_wire_temperature.c ****    /* bus pattern loop:
 773:one_wire_temperature.c ****     * looping over all pins
 774:one_wire_temperature.c ****     */
 775:one_wire_temperature.c ****    for ( int8_t busPatternIndex = 0 ; busPatternIndex < busPatternIndexMax ; busPatternIndex++ )
 776:one_wire_temperature.c ****    {
 777:one_wire_temperature.c ****       if ( TRUE == owiUseCommonTemperatureConversion_flag)
 778:one_wire_temperature.c ****       {
 779:one_wire_temperature.c ****          currentPins = generateCommonPinsPattern(pins, owiBusMask, owiTemperatureMask);
 780:one_wire_temperature.c ****          busPatternIndexMax = 1; // finish loop after one round
 781:one_wire_temperature.c ****       }
 782:one_wire_temperature.c ****       else
 783:one_wire_temperature.c ****       {
 784:one_wire_temperature.c ****          currentPins = pins[busPatternIndex];
 785:one_wire_temperature.c **** 
 786:one_wire_temperature.c ****          if ( 0 != checkBusAndDeviceActivityMasks(currentPins, busPatternIndex, owiBusMask, owiTemp
 787:one_wire_temperature.c ****          {
 788:one_wire_temperature.c ****             continue;
 789:one_wire_temperature.c ****          }
 790:one_wire_temperature.c ****       }
 791:one_wire_temperature.c **** 
 792:one_wire_temperature.c ****       /*
 793:one_wire_temperature.c ****        * determine max common conversion time (per bus)
 794:one_wire_temperature.c ****        */
 795:one_wire_temperature.c ****       maxConversionTime = owiTemperatureMaxConversionTime;
 796:one_wire_temperature.c **** 
 797:one_wire_temperature.c ****       /* if there are only DS18B20 devices availabe, i.e. no DS18S20, conversion time can be lowere
 798:one_wire_temperature.c ****       if ( 0 == ((owiTemperatureMask_DS18S20 & currentPins) & 0xFF ) )
 799:one_wire_temperature.c ****       {
 800:one_wire_temperature.c ****          if ( eventDebug <= debug && ((debugMask >> debugOWITemperatures) & 1))
 801:one_wire_temperature.c ****          {
 802:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
 803:one_wire_temperature.c ****                        PSTR("DEBUG (%4i, %s) fcn:MakeTempConversionOfAll bus: only DS18B20, adoptin
 804:one_wire_temperature.c ****                        __LINE__, __FILE__, maxConversionTime, currentPins);
 805:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 806:one_wire_temperature.c ****          }
 807:one_wire_temperature.c **** 
 808:one_wire_temperature.c ****          maxConversionTime = maxConversionTime >> (12 - owiTemperatureResolution_DS18B20);
 809:one_wire_temperature.c ****       }
 810:one_wire_temperature.c ****       else
 811:one_wire_temperature.c ****       {
 812:one_wire_temperature.c ****          if ( eventDebug <= debug && ((debugMask >> debugOWITemperatures) & 1))
 813:one_wire_temperature.c ****          {
 814:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
 815:one_wire_temperature.c ****                        PSTR("DEBUG (%4i, %s) fcn:MakeTempConversionOfAll bus: mixed sensors, max. t
 816:one_wire_temperature.c ****                        __LINE__, __FILE__, maxConversionTime, currentPins);
 817:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 818:one_wire_temperature.c ****          }
 819:one_wire_temperature.c ****       }
 820:one_wire_temperature.c **** 
 821:one_wire_temperature.c ****       if ( 0 == OWI_DetectPresence(currentPins) )
 822:one_wire_temperature.c ****       {
 823:one_wire_temperature.c ****          if ( eventDebug <= debug && ((debugMask >> debugOWITemperatures) & 1))
 824:one_wire_temperature.c ****          {
 825:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) fcn:MakeTempConv
 826:one_wire_temperature.c ****                        currentPins);
 827:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 828:one_wire_temperature.c ****          }
 829:one_wire_temperature.c **** 
 830:one_wire_temperature.c ****          continue;
 831:one_wire_temperature.c ****       }
 832:one_wire_temperature.c ****       else
 833:one_wire_temperature.c ****       {
 834:one_wire_temperature.c ****          if ( eventDebug <= debug && ((debugMask >> debugOWITemperatures) & 1))
 835:one_wire_temperature.c ****          {
 836:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) fcn:MakeTempConv
 837:one_wire_temperature.c ****                        currentPins);
 838:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 839:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) fcn:MakeTempConv
 840:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 841:one_wire_temperature.c ****          }
 842:one_wire_temperature.c ****       }
 843:one_wire_temperature.c **** 
 844:one_wire_temperature.c ****        /*
 845:one_wire_temperature.c ****         * send conversion command to all devices
 846:one_wire_temperature.c ****         */
 847:one_wire_temperature.c **** 
 848:one_wire_temperature.c ****       /*
 849:one_wire_temperature.c ****        * expect parasitic devices if forced to or the parasiticModeMask has common pins with the cu
 850:one_wire_temperature.c ****        */
 851:one_wire_temperature.c ****       if (FALSE != owiTemperatureForceParasiticMode || 0 != ((owiTemperatureParasiticModeMask & cur
 852:one_wire_temperature.c ****       {
 853:one_wire_temperature.c ****           if ( eventDebugVerbose <= debug && ((debugMask >> debugOWITemperatures) & 0x1))
 854:one_wire_temperature.c ****           {
 855:one_wire_temperature.c ****              snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) parasitic conve
 856:one_wire_temperature.c ****                         __LINE__, __FILE__);
 857:one_wire_temperature.c ****              UART0_Send_Message_String(NULL,0);
 858:one_wire_temperature.c ****           }
 859:one_wire_temperature.c **** 
 860:one_wire_temperature.c **** 	  if ( FALSE != owiTemperatureSensorBySensorParasiticConversionFlag )
 861:one_wire_temperature.c **** 	  {
 862:one_wire_temperature.c **** 	    OWI_SendByte(OWI_ROM_SKIP, currentPins);
 863:one_wire_temperature.c **** 	    owiTemperatureConversionParasitic(currentPins);
 864:one_wire_temperature.c **** 	  }
 865:one_wire_temperature.c **** 	  else
 866:one_wire_temperature.c **** 	  {
 867:one_wire_temperature.c **** 	    owiTemperatureSensorBySensorParasiticConversion(currentPins, selectedDeviceIndex);
 868:one_wire_temperature.c **** 	    waitForConversion = FALSE;
 869:one_wire_temperature.c **** 	  }
 870:one_wire_temperature.c ****           if ( eventDebugVerbose <= debug && ((debugMask >> debugOWITemperatures) & 0x1))
 871:one_wire_temperature.c ****           {
 872:one_wire_temperature.c ****              snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) parasitic conve
 873:one_wire_temperature.c ****                         __LINE__, __FILE__);
 874:one_wire_temperature.c ****              UART0_Send_Message_String(NULL,0);
 875:one_wire_temperature.c ****           }
 876:one_wire_temperature.c ****        }
 877:one_wire_temperature.c ****        else
 878:one_wire_temperature.c ****        {
 879:one_wire_temperature.c ****           /*
 880:one_wire_temperature.c ****            * non parasitic mode: wait / don't wait
 881:one_wire_temperature.c ****            */
 882:one_wire_temperature.c ****           if ( TRUE == waitForConversion )
 883:one_wire_temperature.c ****           {
 884:one_wire_temperature.c ****              maxcount = ( OWI_TEMPERATURE_CONVERSION_DELAY_MILLISECONDS > 0 ) ? maxConversionTime /
 885:one_wire_temperature.c ****              count = maxcount;
 886:one_wire_temperature.c ****              timeout_flag = FALSE;
 887:one_wire_temperature.c **** 
 888:one_wire_temperature.c ****              if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 889:one_wire_temperature.c ****              {
 890:one_wire_temperature.c ****                 snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) waiting for 
 891:one_wire_temperature.c ****                 UART0_Send_Message_String(NULL,0);
 892:one_wire_temperature.c ****              }
 893:one_wire_temperature.c **** 
 894:one_wire_temperature.c ****              uint8_t owiReadBit = 0;
 895:one_wire_temperature.c **** 
 896:one_wire_temperature.c ****              /*conversion commands to reach all devices of the current pin at once*/
 897:one_wire_temperature.c ****              OWI_SendByte(OWI_ROM_SKIP, currentPins);
 898:one_wire_temperature.c ****              OWI_SendByte(DS1820_START_CONVERSION, currentPins);
 899:one_wire_temperature.c **** 
 900:one_wire_temperature.c ****              while ( 0 == owiReadBit)
 901:one_wire_temperature.c ****              {
 902:one_wire_temperature.c ****                 /* if conversion response isn't ignored, look for the currentPins to react*/
 903:one_wire_temperature.c ****                 if ( FALSE == owiTemperatureIgnoreConversionResponse )
 904:one_wire_temperature.c ****                 {
 905:one_wire_temperature.c ****                    owiReadBit = OWI_ReadBit(currentPins);
 906:one_wire_temperature.c ****                 }
 907:one_wire_temperature.c ****                 _delay_ms(OWI_TEMPERATURE_CONVERSION_DELAY_MILLISECONDS);
 908:one_wire_temperature.c **** 
 909:one_wire_temperature.c ****                 /* timeout check */
 910:one_wire_temperature.c ****                 if ( 0 == --count)
 911:one_wire_temperature.c ****                 {
 912:one_wire_temperature.c ****                    /* if conversion response isn't ignored, set timeout flag*/
 913:one_wire_temperature.c ****                    if ( FALSE == owiTemperatureIgnoreConversionResponse )
 914:one_wire_temperature.c ****                    {
 915:one_wire_temperature.c ****                       timeout_flag = TRUE;
 916:one_wire_temperature.c ****                    }
 917:one_wire_temperature.c ****                    break;
 918:one_wire_temperature.c ****                 }
 919:one_wire_temperature.c ****              }
 920:one_wire_temperature.c ****           }
 921:one_wire_temperature.c ****        }
 922:one_wire_temperature.c **** 
 923:one_wire_temperature.c ****        if ( TRUE == waitForConversion )
 924:one_wire_temperature.c ****        {
 925:one_wire_temperature.c ****           status = owiTemperatureConversionEvaluateTimeoutFlag(timeout_flag, currentPins, maxcount,
 926:one_wire_temperature.c ****        }
 927:one_wire_temperature.c ****        else
 928:one_wire_temperature.c ****        {
 929:one_wire_temperature.c ****           status = owiTemperatureConversionEvaluateTimeoutFlag(FALSE, currentPins, 0, 0, &currentTi
 930:one_wire_temperature.c ****           if ( TRUE == spawnReleaseBlock )
 931:one_wire_temperature.c ****           {
 932:one_wire_temperature.c ****              owiTemperatureConversionGoingOnCountDown = (1 > (maxConversionTime / 1000)) ? 1: (maxC
 933:one_wire_temperature.c ****           }
 934:one_wire_temperature.c ****        }
 935:one_wire_temperature.c ****    }//end of for ( int8_t busPatternIndex = 0 ; busPatternIndex < PIN_BUS ; busPatternIndex++ )
 936:one_wire_temperature.c **** 
 937:one_wire_temperature.c ****    if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 938:one_wire_temperature.c ****    {
 939:one_wire_temperature.c ****       snprintf_P(uart_message_string, BUFFER_SIZE - 1,
 940:one_wire_temperature.c ****                  PSTR("DEBUG (%4i, %s) fcn:MakeTempConversionOfAll finished (Timeout: current = 0x%
 941:one_wire_temperature.c ****                  __LINE__, __FILE__, currentTimeoutMask, owiTemperatureTimeoutMask);
 942:one_wire_temperature.c ****       UART0_Send_Message_String(NULL,0);
 943:one_wire_temperature.c ****    }
 944:one_wire_temperature.c **** 
 945:one_wire_temperature.c ****    return status;
 946:one_wire_temperature.c **** }
 947:one_wire_temperature.c **** 
 948:one_wire_temperature.c **** /*
 949:one_wire_temperature.c ****  * owiTemperatureConversionEvaluateTimeoutFlag(const unsigned char timeout_flag, const uint8_t curr
 950:one_wire_temperature.c ****  *
 951:one_wire_temperature.c ****  * this function checks or a given timeout flag
 952:one_wire_temperature.c ****  *     - if not set
 953:one_wire_temperature.c ****  *        - clears currentPins from
 954:one_wire_temperature.c ****  *              global owiTemperatureTimeoutMask
 955:one_wire_temperature.c ****  *        - it waits the remaining time:
 956:one_wire_temperature.c ****  *              count x OWI_TEMPERATURE_CONVERSION_DELAY_MILLISECONDS
 957:one_wire_temperature.c ****  *     - if set
 958:one_wire_temperature.c ****  *        - currentPins are added to
 959:one_wire_temperature.c ****  *              global owiTemperatureTimeoutMask
 960:one_wire_temperature.c ****  *                  and
 961:one_wire_temperature.c ****  *              currentTimeOutMask
 962:one_wire_temperature.c ****  *        - error messages are issued
 963:one_wire_temperature.c ****  *
 964:one_wire_temperature.c ****  * return
 965:one_wire_temperature.c ****  *      0: o.k.
 966:one_wire_temperature.c ****  *      else: error
 967:one_wire_temperature.c ****  */
 968:one_wire_temperature.c **** 
 969:one_wire_temperature.c **** uint8_t owiTemperatureConversionEvaluateTimeoutFlag(const unsigned char timeout_flag, const uint8_t
 970:one_wire_temperature.c **** {
 971:one_wire_temperature.c ****     if ( FALSE == timeout_flag )
 972:one_wire_temperature.c ****       {
 973:one_wire_temperature.c ****          owiTemperatureTimeoutMask &= ~(currentPins);
 974:one_wire_temperature.c **** 
 975:one_wire_temperature.c ****          if ( 0 < maxcount )
 976:one_wire_temperature.c ****          {
 977:one_wire_temperature.c ****             if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 978:one_wire_temperature.c ****             {
 979:one_wire_temperature.c ****                snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) owiTemperatur
 980:one_wire_temperature.c ****                           __LINE__, __FILE__, maxcount - count);
 981:one_wire_temperature.c ****                snprintf(uart_message_string, BUFFER_SIZE - 1, "%s %i ms", uart_message_string, OWI_
 982:one_wire_temperature.c ****                UART0_Send_Message_String(NULL,0);
 983:one_wire_temperature.c ****             }
 984:one_wire_temperature.c ****          }
 985:one_wire_temperature.c **** 
 986:one_wire_temperature.c ****          if ( count > 0 )
 987:one_wire_temperature.c ****          {
 988:one_wire_temperature.c ****             /*wait the remaining time*/
 989:one_wire_temperature.c ****             if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 990:one_wire_temperature.c ****             {
 991:one_wire_temperature.c ****                snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) owiTemperatur
 992:one_wire_temperature.c ****                snprintf(uart_message_string, BUFFER_SIZE - 1, "%s %i ms", uart_message_string, OWI_
 993:one_wire_temperature.c ****                UART0_Send_Message_String(NULL,0);
 994:one_wire_temperature.c ****             }
 995:one_wire_temperature.c **** 
 996:one_wire_temperature.c ****             while ( 0 < --count ) { _delay_ms(OWI_TEMPERATURE_CONVERSION_DELAY_MILLISECONDS); }
 997:one_wire_temperature.c ****          }
 998:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
 999:one_wire_temperature.c ****          {
1000:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) owiTemperatureCo
1001:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
1002:one_wire_temperature.c ****          }
1003:one_wire_temperature.c ****          return 0;
1004:one_wire_temperature.c ****       }
1005:one_wire_temperature.c ****       else
1006:one_wire_temperature.c ****       {
1007:one_wire_temperature.c ****          owiTemperatureTimeoutMask |= currentPins;
1008:one_wire_temperature.c ****          *currentTimeoutMask |= currentPins;
1009:one_wire_temperature.c ****          CommunicationError(ERRG, -1, 0, PSTR("OWI Temperature Conversion timeout"), 200);
1010:one_wire_temperature.c **** 
1011:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1012:one_wire_temperature.c ****          {
1013:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
1014:one_wire_temperature.c ****                        PSTR("DEBUG (%4i, %s) OWI Temperature Conversion timeout (>%i ms) on bus_mas
1015:one_wire_temperature.c ****                        __LINE__, __FILE__,  maxConversionTime, currentPins);
1016:one_wire_temperature.c ****          }
1017:one_wire_temperature.c ****          return 1;
1018:one_wire_temperature.c ****       }
1019:one_wire_temperature.c **** }
1020:one_wire_temperature.c **** 
1021:one_wire_temperature.c **** /*
1022:one_wire_temperature.c ****  * owiTemperatureReadSingleSensor( unsigned char bus_pattern, unsigned char * id )
1023:one_wire_temperature.c ****  *
1024:one_wire_temperature.c ****  * this function will read the data contained in the scratchpad of the device
1025:one_wire_temperature.c ****  * identified by the id ID number
1026:one_wire_temperature.c ****  *
1027:one_wire_temperature.c ****  * it will return the temperature value stored in the scratchpad as an 32bit unsigned int
1028:one_wire_temperature.c ****  *   - where the temperature value is only maximum 16 lower bit
1029:one_wire_temperature.c ****  *   - the remaining top 16 bit are used to signal errors
1030:one_wire_temperature.c ****  *   - if an error occurs, this function will return values larger than 0xFFFF
1031:one_wire_temperature.c ****  */
1032:one_wire_temperature.c **** 
1033:one_wire_temperature.c **** 
1034:one_wire_temperature.c **** uint32_t owiTemperatureReadSingleSensor( unsigned char bus_pattern, unsigned char * id )
1035:one_wire_temperature.c **** {
1036:one_wire_temperature.c ****    uint32_t temperature = 0x0;
1037:one_wire_temperature.c **** 
1038:one_wire_temperature.c ****    /*checks*/
1039:one_wire_temperature.c ****    if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1040:one_wire_temperature.c ****    {
1041:one_wire_temperature.c ****       snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) fcn:ReadTemperatures b
1042:one_wire_temperature.c ****       UART0_Send_Message_String(NULL,0);
1043:one_wire_temperature.c ****    }
1044:one_wire_temperature.c ****    if ( 0 == ((owiBusMask & bus_pattern) & 0xFF) )
1045:one_wire_temperature.c ****    {
1046:one_wire_temperature.c ****       if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1047:one_wire_temperature.c ****       {
1048:one_wire_temperature.c ****          snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) passive (bus patter
1049:one_wire_temperature.c ****                     bus_pattern,owiBusMask);
1050:one_wire_temperature.c ****          UART0_Send_Message_String(NULL,0);
1051:one_wire_temperature.c ****       }
1052:one_wire_temperature.c ****       return (0x0L | owiReadStatus_owi_bus_mismatch) << 16;
1053:one_wire_temperature.c ****    }
1054:one_wire_temperature.c **** 
1055:one_wire_temperature.c ****    if ( 0 != ((owiTemperatureTimeoutMask & bus_pattern) & 0xFF) )
1056:one_wire_temperature.c ****    {
1057:one_wire_temperature.c ****       /*conversion went into timeout*/
1058:one_wire_temperature.c ****       snprintf_P(message, BUFFER_SIZE - 1, PSTR("OWI Temperature Conversion timeout (>%i ms, %s, bu
1059:one_wire_temperature.c ****                  OWI_TEMPERATURE_MAX_CONVERSION_TIME_MILLISECONDS, owi_id_string, bus_pattern, owiT
1060:one_wire_temperature.c ****       CommunicationError(ERRG, -1, 0, message, -1001);
1061:one_wire_temperature.c **** 
1062:one_wire_temperature.c ****       if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1063:one_wire_temperature.c ****       {
1064:one_wire_temperature.c ****          snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) %s"), __LINE__, __F
1065:one_wire_temperature.c ****          UART0_Send_Message_String(NULL,0);
1066:one_wire_temperature.c ****       }
1067:one_wire_temperature.c **** 
1068:one_wire_temperature.c ****       clearString(message, BUFFER_SIZE);
1069:one_wire_temperature.c ****       return (0x0L | owiReadStatus_conversion_timeout) << 16;
1070:one_wire_temperature.c ****    }
1071:one_wire_temperature.c **** #warning TODO: consider the case that bus_pattern has more than one bit active, but the conversion 
1072:one_wire_temperature.c **** 
1073:one_wire_temperature.c ****    /* Reset, presence */
1074:one_wire_temperature.c **** 
1075:one_wire_temperature.c ****    if ( 0 == OWI_DetectPresence(bus_pattern) )
1076:one_wire_temperature.c ****    {
1077:one_wire_temperature.c ****       return ( 0x0L | owiReadStatus_no_device_presence ) << 16;
1078:one_wire_temperature.c ****    }
1079:one_wire_temperature.c **** 
1080:one_wire_temperature.c ****    /* Match id found earlier*/
1081:one_wire_temperature.c ****    OWI_MatchRom(id, bus_pattern);
1082:one_wire_temperature.c **** 
1083:one_wire_temperature.c ****    /* Send READ SCRATCHPAD command.
1084:one_wire_temperature.c ****     *
1085:one_wire_temperature.c ****     * READ SCRATCHPAD [BEh]
1086:one_wire_temperature.c ****     * This command allows the master to read the contents of the scratchpad. The data transfer star
1087:one_wire_temperature.c ****     * least significant bit of byte 0 and continues through the scratchpad until the 9th byte (byte
1088:one_wire_temperature.c ****     * read. The master may issue a reset to terminate reading at any time if only part of the scrat
1089:one_wire_temperature.c ****     *
1090:one_wire_temperature.c ****     * (http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf and http://datasheets.maxim-ic.com/en/ds/DS
1091:one_wire_temperature.c ****     */
1092:one_wire_temperature.c **** 
1093:one_wire_temperature.c **** #warning no additional reset (~1ms) or detect presence (2ms) command for termination of reading is 
1094:one_wire_temperature.c **** 
1095:one_wire_temperature.c ****    OWI_SendByte(DS1820_READ_SCRATCHPAD, bus_pattern);
1096:one_wire_temperature.c **** 
1097:one_wire_temperature.c ****    /* Read only two first bytes (temperature low, temperature high)*/
1098:one_wire_temperature.c ****    /* and place them in the 16 bit temperature variable.*/
1099:one_wire_temperature.c ****    temperature = OWI_ReceiveByte(bus_pattern);
1100:one_wire_temperature.c ****    temperature |= ( OWI_ReceiveByte(bus_pattern) << 8 );
1101:one_wire_temperature.c ****    temperature &= 0xFFFF;
1102:one_wire_temperature.c **** 
1103:one_wire_temperature.c ****    OWI_DetectPresence(bus_pattern);
1104:one_wire_temperature.c **** 
1105:one_wire_temperature.c ****    if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1106:one_wire_temperature.c ****    {
1107:one_wire_temperature.c ****       snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) fcn:ReadTemperatures e
1108:one_wire_temperature.c ****       UART0_Send_Message_String(NULL,0);
1109:one_wire_temperature.c ****    }
1110:one_wire_temperature.c **** 
1111:one_wire_temperature.c ****    return temperature | ((0x0L | owiReadWriteStatus_OK) << 16);
1112:one_wire_temperature.c **** 
1113:one_wire_temperature.c **** }// END of owiTemperatureReadSingleSensor function
1114:one_wire_temperature.c **** 
1115:one_wire_temperature.c **** 
1116:one_wire_temperature.c **** 
1117:one_wire_temperature.c **** /*
1118:one_wire_temperature.c ****  * find parasiticly powered devices
1119:one_wire_temperature.c ****  */
1120:one_wire_temperature.c **** 
1121:one_wire_temperature.c **** void owiTemperatureFindParasiticlyPoweredDevices(unsigned char verbose)
1122:one_wire_temperature.c **** {
 136               	.LM0:
 137               	/* prologue: frame size=0 */
 138 0000 6F92      		push r6
 139 0002 7F92      		push r7
 140 0004 8F92      		push r8
 141 0006 9F92      		push r9
 142 0008 AF92      		push r10
 143 000a BF92      		push r11
 144 000c CF92      		push r12
 145 000e DF92      		push r13
 146 0010 EF92      		push r14
 147 0012 FF92      		push r15
 148 0014 0F93      		push r16
 149 0016 1F93      		push r17
 150 0018 CF93      		push r28
 151 001a DF93      		push r29
 152               	/* prologue end (size=14) */
 153 001c C82E      		mov r12,r24
 154 001e F0E0      		ldi r31,lo8(BUSES)
 155 0020 AF2E      		mov r10,r31
 156 0022 F0E0      		ldi r31,hi8(BUSES)
 157 0024 BF2E      		mov r11,r31
 158 0026 EEE7      		ldi r30,lo8(126)
 159 0028 8E2E      		mov r8,r30
 160 002a 912C      		mov r9,__zero_reg__
 161 002c 70E0      		ldi r23,lo8(uart_message_string)
 162 002e 672E      		mov r6,r23
 163 0030 70E0      		ldi r23,hi8(uart_message_string)
 164 0032 772E      		mov r7,r23
 165 0034 00C0      		rjmp .L2
 166               	.L34:
 167               	.LBB104:
 168               	.LBB105:
1123:one_wire_temperature.c **** 
1124:one_wire_temperature.c ****    /* In some situations the bus master may not know whether the DS18B20s on the bus are parasite p
1125:one_wire_temperature.c ****     * or powered by external supplies. The master needs this information to determine if the strong
1126:one_wire_temperature.c ****     * should be used during temperature conversions. To get this information, the master can issue 
1127:one_wire_temperature.c ****     * [CCh] command followed by a Read Power Supply [B4h] command followed by a â€œread time slotâ€
1128:one_wire_temperature.c ****     * During the read time slot, parasite powered DS18B20s will pull the bus low, and externally po
1129:one_wire_temperature.c ****     * DS18B20s will let the bus remain high. If the bus is pulled low, the master knows that it mus
1130:one_wire_temperature.c ****     * strong pullup on the 1-Wire bus during temperature conversions
1131:one_wire_temperature.c ****     */
1132:one_wire_temperature.c **** 
1133:one_wire_temperature.c **** 
1134:one_wire_temperature.c ****    uint8_t *pins = BUSES;
1135:one_wire_temperature.c ****    uint8_t busPatternIndexMax = PIN_BUS;
1136:one_wire_temperature.c **** 
1137:one_wire_temperature.c ****    for ( int8_t busPatternIndex = 0 ; busPatternIndex < busPatternIndexMax ; busPatternIndex++ )
1138:one_wire_temperature.c ****    {
1139:one_wire_temperature.c ****       uint8_t currentPins = pins[busPatternIndex];
1140:one_wire_temperature.c **** 
1141:one_wire_temperature.c ****       /*
1142:one_wire_temperature.c ****        * detect presence
1143:one_wire_temperature.c ****        */
1144:one_wire_temperature.c **** 
1145:one_wire_temperature.c ****       if ( 0 == OWI_DetectPresence(currentPins) )
1146:one_wire_temperature.c ****       {
1147:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWI ) & 0x1 ) )
 170               	.LM1:
 171 0036 8091 0000 		lds r24,debug
 172 003a 8230      		cpi r24,lo8(2)
 173 003c 00F0      		brlo .L5
 174 003e 8091 0000 		lds r24,debugMask
 175 0042 9091 0000 		lds r25,(debugMask)+1
 176 0046 A091 0000 		lds r26,(debugMask)+2
 177 004a B091 0000 		lds r27,(debugMask)+3
 178 004e 892F      		mov r24,r25
 179 0050 9A2F      		mov r25,r26
 180 0052 AB2F      		mov r26,r27
 181 0054 BB27      		clr r27
 182 0056 80FD      		sbrc r24,0
 183 0058 00C0      		rjmp .L33
 184               	.L5:
1148:one_wire_temperature.c ****          {
1149:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBG findParasiticlyPoweredDevic
1150:one_wire_temperature.c ****                        currentPins);
1151:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
1152:one_wire_temperature.c ****          }
1153:one_wire_temperature.c ****          continue;
1154:one_wire_temperature.c ****       }
1155:one_wire_temperature.c ****       else
1156:one_wire_temperature.c ****       {
1157:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWI ) & 0x1 ) )
1158:one_wire_temperature.c ****          {
1159:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBG findParasiticlyPoweredDevic
1160:one_wire_temperature.c ****                        currentPins);
1161:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
1162:one_wire_temperature.c ****          }
1163:one_wire_temperature.c ****          }
1164:one_wire_temperature.c **** 
1165:one_wire_temperature.c **** 
1166:one_wire_temperature.c ****       /*
1167:one_wire_temperature.c ****        * send read power supply to all devices
1168:one_wire_temperature.c ****        */
1169:one_wire_temperature.c **** 
1170:one_wire_temperature.c ****       OWI_SendByte(OWI_ROM_SKIP, currentPins);
1171:one_wire_temperature.c ****       OWI_SendByte(DS1820_READ_POWER_SUPPLY, currentPins);
1172:one_wire_temperature.c **** 
1173:one_wire_temperature.c ****       /*
1174:one_wire_temperature.c ****        * wait
1175:one_wire_temperature.c ****        */
1176:one_wire_temperature.c **** 
1177:one_wire_temperature.c ****       uint32_t maxcount = 5; /* 5s */
1178:one_wire_temperature.c ****       uint32_t count = maxcount;
1179:one_wire_temperature.c ****       uint8_t timeout_flag = FALSE;
1180:one_wire_temperature.c ****       uint8_t owiReadBit = 0;
1181:one_wire_temperature.c ****       static uint8_t delay = 1; /*ms*/
1182:one_wire_temperature.c **** 
1183:one_wire_temperature.c ****       while ( 0 == owiReadBit)
1184:one_wire_temperature.c ****       {
1185:one_wire_temperature.c ****           owiReadBit = OWI_ReadBit(currentPins);
1186:one_wire_temperature.c **** 
1187:one_wire_temperature.c ****           _delay_ms(delay);
1188:one_wire_temperature.c **** 
1189:one_wire_temperature.c ****             /* timeout check */
1190:one_wire_temperature.c ****           if ( 0 == --count)
1191:one_wire_temperature.c ****           {
1192:one_wire_temperature.c ****                timeout_flag = TRUE;
1193:one_wire_temperature.c ****                break;
1194:one_wire_temperature.c ****           }
1195:one_wire_temperature.c ****       }
1196:one_wire_temperature.c **** 
1197:one_wire_temperature.c ****       if ( TRUE == timeout_flag )
1198:one_wire_temperature.c ****       {
1199:one_wire_temperature.c ****          /* some devices are parasitic mode*/
1200:one_wire_temperature.c **** 
1201:one_wire_temperature.c ****          if ( FALSE != verbose)
1202:one_wire_temperature.c ****          {
1203:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
1204:one_wire_temperature.c ****                        PSTR("RECV PARA parasitic devices SOME on pins 0x%x "),
1205:one_wire_temperature.c ****                        currentPins);
1206:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
1207:one_wire_temperature.c ****          }
1208:one_wire_temperature.c ****          /*set current pins in parasitic mode mask*/
1209:one_wire_temperature.c ****          owiTemperatureParasiticModeMask |= (currentPins & 0xF);
1210:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1211:one_wire_temperature.c ****          {
1212:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) parasitic device
1213:one_wire_temperature.c ****                        , __LINE__, __FILE__,currentPins);
1214:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
1215:one_wire_temperature.c ****          }
1216:one_wire_temperature.c ****       }
1217:one_wire_temperature.c ****       else
1218:one_wire_temperature.c ****       {
1219:one_wire_temperature.c ****          //owiTemperatureParasiticModeMask |= pins;
1220:one_wire_temperature.c ****          if ( FALSE != verbose)
1221:one_wire_temperature.c ****          {
1222:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1,
1223:one_wire_temperature.c ****                        PSTR("RECV PARA parasitic devices NONE on pins 0x%x (pulled HIGH within %i m
1224:one_wire_temperature.c ****                        currentPins, (maxcount-count)*delay);
1225:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
1226:one_wire_temperature.c ****          }
1227:one_wire_temperature.c ****          /*set current pins in parasitic mode mask*/
1228:one_wire_temperature.c ****          owiTemperatureParasiticModeMask &= !(currentPins & 0xF);
1229:one_wire_temperature.c ****          if ( eventDebug <= debug && ( ( debugMask >> debugOWITemperatures ) & 0x1 ) )
1230:one_wire_temperature.c ****          {
1231:one_wire_temperature.c ****             snprintf_P(uart_message_string, BUFFER_SIZE - 1, PSTR("DEBUG (%4i, %s) parasitic device
1232:one_wire_temperature.c ****                        , __LINE__, __FILE__,currentPins);
1233:one_wire_temperature.c ****             UART0_Send_Message_String(NULL,0);
 186               	.LM2:
 187 005a 0894      		sec
 188 005c A11C      		adc r10,__zero_reg__
 189 005e B11C      		adc r11,__zero_reg__
 190               	.LBE105:
 192               	.LM3:
 193 0060 F0E0      		ldi r31,lo8(BUSES+8)
 194 0062 AF16      		cp r10,r31
 195 0064 F0E0      		ldi r31,hi8(BUSES+8)
 196 0066 BF06      		cpc r11,r31
 197 0068 01F4      		brne .+2
 198 006a 00C0      		rjmp .L30
 199               	.L2:
 200               	.LBB106:
 202               	.LM4:
 203 006c F501      		movw r30,r10
 204 006e D080      		ld r13,Z
 206               	.LM5:
 207 0070 8D2D      		mov r24,r13
 208 0072 0E94 0000 		call OWI_DetectPresence
 209 0076 8823      		tst r24
 210 0078 01F0      		breq .L34
 212               	.LM6:
 213 007a 8091 0000 		lds r24,debug
 214 007e 8230      		cpi r24,lo8(2)
 215 0080 00F0      		brlo .L8
 216 0082 8091 0000 		lds r24,debugMask
 217 0086 9091 0000 		lds r25,(debugMask)+1
 218 008a A091 0000 		lds r26,(debugMask)+2
 219 008e B091 0000 		lds r27,(debugMask)+3
 220 0092 892F      		mov r24,r25
 221 0094 9A2F      		mov r25,r26
 222 0096 AB2F      		mov r26,r27
 223 0098 BB27      		clr r27
 224 009a 80FD      		sbrc r24,0
 225 009c 00C0      		rjmp .L35
 226               	.L8:
 228               	.LM7:
 229 009e 6D2D      		mov r22,r13
 230 00a0 8CEC      		ldi r24,lo8(-52)
 231 00a2 0E94 0000 		call OWI_SendByte
 233               	.LM8:
 234 00a6 6D2D      		mov r22,r13
 235 00a8 84EB      		ldi r24,lo8(-76)
 236 00aa 0E94 0000 		call OWI_SendByte
 237 00ae 45E0      		ldi r20,lo8(5)
 238 00b0 E42E      		mov r14,r20
 239 00b2 F12C      		mov r15,__zero_reg__
 240 00b4 012D      		mov r16,__zero_reg__
 241 00b6 112D      		mov r17,__zero_reg__
 242 00b8 C4EC      		ldi r28,lo8(2500)
 243 00ba D9E0      		ldi r29,hi8(2500)
 244               	.L11:
 246               	.LM9:
 247 00bc 8D2D      		mov r24,r13
 248 00be 0E94 0000 		call OWI_ReadBit
 249 00c2 282F      		mov r18,r24
 250               	.LBB107:
 251               	.LBB108:
 252               	.LBB109:
 253               	.LBB110:
 255               	.Ltext1:
   1:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    Copyright (c) 2007 Joerg Wunsch
   3:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    All rights reserved.
   4:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
   5:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    Redistribution and use in source and binary forms, with or without
   6:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    modification, are permitted provided that the following conditions are met:
   7:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
   8:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    * Redistributions of source code must retain the above copyright
   9:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****      notice, this list of conditions and the following disclaimer.
  10:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  11:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    * Redistributions in binary form must reproduce the above copyright
  12:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****      notice, this list of conditions and the following disclaimer in
  13:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****      the documentation and/or other materials provided with the
  14:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****      distribution.
  15:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  16:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****    * Neither the name of the copyright holders nor the names of
  17:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****      contributors may be used to endorse or promote products derived
  18:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****      from this software without specific prior written permission.
  19:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  20:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****   POSSIBILITY OF SUCH DAMAGE. */
  31:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  32:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** /* $Id: delay_basic.h,v 1.1 2007/05/13 21:23:20 joerg_wunsch Exp $ */
  33:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  34:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** #ifndef _UTIL_DELAY_BASIC_H_
  35:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** #define _UTIL_DELAY_BASIC_H_ 1
  36:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  37:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** #include <inttypes.h>
  38:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  39:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** /** \file */
  40:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** /** \defgroup util_delay_basic <util/delay_basic.h>: Basic busy-wait delay loops
  41:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     \code
  42:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     #include <util/delay_basic.h>
  43:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     \endcode
  44:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  45:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     The functions in this header file implement simple delay loops
  46:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     that perform a busy-waiting.  They are typically used to
  47:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     facilitate short delays in the program execution.  They are
  48:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     implemented as count-down loops with a well-known CPU cycle
  49:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     count per loop iteration.  As such, no other processing can
  50:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     occur simultaneously.  It should be kept in mind that the
  51:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     functions described here do not disable interrupts.
  52:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  53:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     In general, for long delays, the use of hardware timers is
  54:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     much preferrable, as they free the CPU, and allow for
  55:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     concurrent processing of other events while the timer is
  56:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     running.  However, in particular for very short delays, the
  57:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     overhead of setting up a hardware timer is too much compared
  58:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     to the overall delay time.
  59:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  60:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     Two inline functions are provided for the actual delay algorithms.
  61:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  62:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** */
  63:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  64:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** #if !defined(__DOXYGEN__)
  65:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
  66:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
  67:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** #endif
  68:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  69:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
  70:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  71:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     Delay loop using an 8-bit counter \c __count, so up to 256
  72:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     iterations are possible.  (The value 256 would have to be passed
  73:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     as 0.)  The loop executes three CPU cycles per iteration, not
  74:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     including the overhead the compiler needs to setup the counter
  75:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     register.
  76:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  77:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     Thus, at a CPU speed of 1 MHz, delays of up to 768 microseconds
  78:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     can be achieved.
  79:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** */
  80:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** void
  81:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** _delay_loop_1(uint8_t __count)
  82:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** {
  83:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 	__asm__ volatile (
  84:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 		"1: dec %0" "\n\t"
  85:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 		"brne 1b"
  86:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 		: "=r" (__count)
  87:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 		: "0" (__count)
  88:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 	);
  89:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** }
  90:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  91:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
  92:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  93:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     Delay loop using a 16-bit counter \c __count, so up to 65536
  94:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     iterations are possible.  (The value 65536 would have to be
  95:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     passed as 0.)  The loop executes four CPU cycles per iteration,
  96:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     not including the overhead the compiler requires to setup the
  97:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     counter register pair.
  98:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 
  99:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     Thus, at a CPU speed of 1 MHz, delays of up to about 262.1
 100:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****     milliseconds can be achieved.
 101:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h ****  */
 102:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** void
 103:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** _delay_loop_2(uint16_t __count)
 104:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** {
 105:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay_basic.h **** 	__asm__ volatile (
 257               	.LM10:
 258 00c4 CE01      		movw r24,r28
 259               	/* #APP */
 260 00c6 0197      		1: sbiw r24,1
 261 00c8 01F4      		brne 1b
 262               	/* #NOAPP */
 263               	.LBE110:
 264               	.LBE109:
 265               	.LBE108:
 266               	.LBE107:
 268               	.Ltext2:
 270               	.LM11:
 271 00ca 0894      		sec
 272 00cc E108      		sbc r14,__zero_reg__
 273 00ce F108      		sbc r15,__zero_reg__
 274 00d0 0109      		sbc r16,__zero_reg__
 275 00d2 1109      		sbc r17,__zero_reg__
 276 00d4 E114      		cp r14,__zero_reg__
 277 00d6 F104      		cpc r15,__zero_reg__
 278 00d8 0105      		cpc r16,__zero_reg__
 279 00da 1105      		cpc r17,__zero_reg__
 280 00dc 01F0      		breq .L12
 282               	.LM12:
 283 00de 2223      		tst r18
 284 00e0 01F0      		breq .L11
 286               	.LM13:
 287 00e2 CC20      		tst r12
 288 00e4 01F0      		breq .+2
 289 00e6 00C0      		rjmp .L19
 290 00e8 CD2D      		mov r28,r13
 291 00ea DD27      		clr r29
 292               	.L20:
 294               	.LM14:
 295 00ec 20E0      		ldi r18,lo8(0)
 296 00ee CE01      		movw r24,r28
 297 00f0 8F70      		andi r24,lo8(15)
 298 00f2 9070      		andi r25,hi8(15)
 299 00f4 892B      		or r24,r25
 300 00f6 01F4      		brne .L21
 301 00f8 21E0      		ldi r18,lo8(1)
 302               	.L21:
 303 00fa 8091 0000 		lds r24,owiTemperatureParasiticModeMask
 304 00fe 8223      		and r24,r18
 305 0100 8093 0000 		sts owiTemperatureParasiticModeMask,r24
 307               	.LM15:
 308 0104 8091 0000 		lds r24,debug
 309 0108 8230      		cpi r24,lo8(2)
 310 010a 00F4      		brsh .+2
 311 010c 00C0      		rjmp .L5
 312 010e 8091 0000 		lds r24,debugMask
 313 0112 9091 0000 		lds r25,(debugMask)+1
 314 0116 A091 0000 		lds r26,(debugMask)+2
 315 011a B091 0000 		lds r27,(debugMask)+3
 316 011e 29E0      		ldi r18,9
 317 0120 B695      	1:	lsr r27
 318 0122 A795      		ror r26
 319 0124 9795      		ror r25
 320 0126 8795      		ror r24
 321 0128 2A95      		dec r18
 322 012a 01F4      		brne 1b
 323 012c 80FF      		sbrs r24,0
 324 012e 00C0      		rjmp .L5
 326               	.LM16:
 327 0130 DF93      		push r29
 328 0132 CF93      		push r28
 329 0134 80E0      		ldi r24,lo8(.LC0)
 330 0136 90E0      		ldi r25,hi8(.LC0)
 331 0138 9F93      		push r25
 332 013a 8F93      		push r24
 333 013c 80ED      		ldi r24,lo8(1232)
 334 013e 94E0      		ldi r25,hi8(1232)
 335 0140 9F93      		push r25
 336 0142 8F93      		push r24
 337 0144 80E0      		ldi r24,lo8(__c.3045)
 338 0146 90E0      		ldi r25,hi8(__c.3045)
 339 0148 00C0      		rjmp .L31
 340               	.L12:
 342               	.LM17:
 343 014a CC20      		tst r12
 344 014c 01F0      		breq .+2
 345 014e 00C0      		rjmp .L36
 346               	.L15:
 348               	.LM18:
 349 0150 8D2D      		mov r24,r13
 350 0152 8F70      		andi r24,lo8(15)
 351 0154 9091 0000 		lds r25,owiTemperatureParasiticModeMask
 352 0158 982B      		or r25,r24
 353 015a 9093 0000 		sts owiTemperatureParasiticModeMask,r25
 355               	.LM19:
 356 015e 8091 0000 		lds r24,debug
 357 0162 8230      		cpi r24,lo8(2)
 358 0164 00F4      		brsh .+2
 359 0166 00C0      		rjmp .L5
 360 0168 8091 0000 		lds r24,debugMask
 361 016c 9091 0000 		lds r25,(debugMask)+1
 362 0170 A091 0000 		lds r26,(debugMask)+2
 363 0174 B091 0000 		lds r27,(debugMask)+3
 364 0178 39E0      		ldi r19,9
 365 017a B695      	1:	lsr r27
 366 017c A795      		ror r26
 367 017e 9795      		ror r25
 368 0180 8795      		ror r24
 369 0182 3A95      		dec r19
 370 0184 01F4      		brne 1b
 371 0186 80FF      		sbrs r24,0
 372 0188 00C0      		rjmp .L5
 374               	.LM20:
 375 018a 8D2D      		mov r24,r13
 376 018c 9927      		clr r25
 377 018e 9F93      		push r25
 378 0190 8F93      		push r24
 379 0192 80E0      		ldi r24,lo8(.LC0)
 380 0194 90E0      		ldi r25,hi8(.LC0)
 381 0196 9F93      		push r25
 382 0198 8F93      		push r24
 383 019a 8DEB      		ldi r24,lo8(1213)
 384 019c 94E0      		ldi r25,hi8(1213)
 385 019e 9F93      		push r25
 386 01a0 8F93      		push r24
 387 01a2 80E0      		ldi r24,lo8(__c.3041)
 388 01a4 90E0      		ldi r25,hi8(__c.3041)
 389               	.L31:
 391               	.LM21:
 392 01a6 9F93      		push r25
 393 01a8 8F93      		push r24
 394 01aa 9F92      		push r9
 395 01ac 8F92      		push r8
 396 01ae 7F92      		push r7
 397 01b0 6F92      		push r6
 398 01b2 0E94 0000 		call snprintf_P
 400               	.LM22:
 401 01b6 60E0      		ldi r22,lo8(0)
 402 01b8 70E0      		ldi r23,hi8(0)
 403 01ba 80E0      		ldi r24,lo8(0)
 404 01bc 90E0      		ldi r25,hi8(0)
 405 01be 0E94 0000 		call UART0_Send_Message_String
 406 01c2 EDB7      		in r30,__SP_L__
 407 01c4 FEB7      		in r31,__SP_H__
 408 01c6 3C96      		adiw r30,12
 409 01c8 0FB6      		in __tmp_reg__,__SREG__
 410 01ca F894      		cli
 411 01cc FEBF      		out __SP_H__,r31
 412 01ce 0FBE      		out __SREG__,__tmp_reg__
 413 01d0 EDBF      		out __SP_L__,r30
 414 01d2 0894      		sec
 415 01d4 A11C      		adc r10,__zero_reg__
 416 01d6 B11C      		adc r11,__zero_reg__
 417               	.LBE106:
 419               	.LM23:
 420 01d8 F0E0      		ldi r31,lo8(BUSES+8)
 421 01da AF16      		cp r10,r31
 422 01dc F0E0      		ldi r31,hi8(BUSES+8)
 423 01de BF06      		cpc r11,r31
 424 01e0 01F0      		breq .+2
 425 01e2 00C0      		rjmp .L2
 426 01e4 00C0      		rjmp .L30
 427               	.L33:
 428               	.LBB111:
 430               	.LM24:
 431 01e6 8D2D      		mov r24,r13
 432 01e8 9927      		clr r25
 433 01ea 9F93      		push r25
 434 01ec 8F93      		push r24
 435 01ee 80E0      		ldi r24,lo8(__c.3026)
 436 01f0 90E0      		ldi r25,hi8(__c.3026)
 437 01f2 9F93      		push r25
 438 01f4 8F93      		push r24
 439 01f6 9F92      		push r9
 440 01f8 8F92      		push r8
 441 01fa 7F92      		push r7
 442 01fc 6F92      		push r6
 443 01fe 0E94 0000 		call snprintf_P
 445               	.LM25:
 446 0202 60E0      		ldi r22,lo8(0)
 447 0204 70E0      		ldi r23,hi8(0)
 448 0206 80E0      		ldi r24,lo8(0)
 449 0208 90E0      		ldi r25,hi8(0)
 450 020a 0E94 0000 		call UART0_Send_Message_String
 451 020e 8DB7      		in r24,__SP_L__
 452 0210 9EB7      		in r25,__SP_H__
 453 0212 0896      		adiw r24,8
 454 0214 0FB6      		in __tmp_reg__,__SREG__
 455 0216 F894      		cli
 456 0218 9EBF      		out __SP_H__,r25
 457 021a 0FBE      		out __SREG__,__tmp_reg__
 458 021c 8DBF      		out __SP_L__,r24
 459 021e 00C0      		rjmp .L5
 460               	.L35:
 462               	.LM26:
 463 0220 8D2D      		mov r24,r13
 464 0222 9927      		clr r25
 465 0224 9F93      		push r25
 466 0226 8F93      		push r24
 467 0228 80E0      		ldi r24,lo8(__c.3029)
 468 022a 90E0      		ldi r25,hi8(__c.3029)
 469 022c 9F93      		push r25
 470 022e 8F93      		push r24
 471 0230 9F92      		push r9
 472 0232 8F92      		push r8
 473 0234 7F92      		push r7
 474 0236 6F92      		push r6
 475 0238 0E94 0000 		call snprintf_P
 477               	.LM27:
 478 023c 60E0      		ldi r22,lo8(0)
 479 023e 70E0      		ldi r23,hi8(0)
 480 0240 80E0      		ldi r24,lo8(0)
 481 0242 90E0      		ldi r25,hi8(0)
 482 0244 0E94 0000 		call UART0_Send_Message_String
 483 0248 EDB7      		in r30,__SP_L__
 484 024a FEB7      		in r31,__SP_H__
 485 024c 3896      		adiw r30,8
 486 024e 0FB6      		in __tmp_reg__,__SREG__
 487 0250 F894      		cli
 488 0252 FEBF      		out __SP_H__,r31
 489 0254 0FBE      		out __SREG__,__tmp_reg__
 490 0256 EDBF      		out __SP_L__,r30
 491 0258 00C0      		rjmp .L8
 492               	.L36:
 494               	.LM28:
 495 025a 8D2D      		mov r24,r13
 496 025c 9927      		clr r25
 497 025e 9F93      		push r25
 498 0260 8F93      		push r24
 500               	.LM29:
 501 0262 80E0      		ldi r24,lo8(__c.3039)
 502 0264 90E0      		ldi r25,hi8(__c.3039)
 503 0266 9F93      		push r25
 504 0268 8F93      		push r24
 505 026a 9F92      		push r9
 506 026c 8F92      		push r8
 507 026e 7F92      		push r7
 508 0270 6F92      		push r6
 509 0272 0E94 0000 		call snprintf_P
 511               	.LM30:
 512 0276 60E0      		ldi r22,lo8(0)
 513 0278 70E0      		ldi r23,hi8(0)
 514 027a 80E0      		ldi r24,lo8(0)
 515 027c 90E0      		ldi r25,hi8(0)
 516 027e 0E94 0000 		call UART0_Send_Message_String
 517 0282 8DB7      		in r24,__SP_L__
 518 0284 9EB7      		in r25,__SP_H__
 519 0286 0896      		adiw r24,8
 520 0288 0FB6      		in __tmp_reg__,__SREG__
 521 028a F894      		cli
 522 028c 9EBF      		out __SP_H__,r25
 523 028e 0FBE      		out __SREG__,__tmp_reg__
 524 0290 8DBF      		out __SP_L__,r24
 525 0292 00C0      		rjmp .L15
 526               	.L19:
 528               	.LM31:
 529 0294 CD2D      		mov r28,r13
 530 0296 DD27      		clr r29
 531 0298 85E0      		ldi r24,lo8(5)
 532 029a 90E0      		ldi r25,hi8(5)
 533 029c A0E0      		ldi r26,hlo8(5)
 534 029e B0E0      		ldi r27,hhi8(5)
 535 02a0 8E19      		sub r24,r14
 536 02a2 9F09      		sbc r25,r15
 537 02a4 A00B      		sbc r26,r16
 538 02a6 B10B      		sbc r27,r17
 539 02a8 BF93      		push r27
 540 02aa AF93      		push r26
 541 02ac 9F93      		push r25
 542 02ae 8F93      		push r24
 543 02b0 DF93      		push r29
 544 02b2 CF93      		push r28
 546               	.LM32:
 547 02b4 80E0      		ldi r24,lo8(__c.3043)
 548 02b6 90E0      		ldi r25,hi8(__c.3043)
 549 02b8 9F93      		push r25
 550 02ba 8F93      		push r24
 551 02bc 9F92      		push r9
 552 02be 8F92      		push r8
 553 02c0 7F92      		push r7
 554 02c2 6F92      		push r6
 555 02c4 0E94 0000 		call snprintf_P
 557               	.LM33:
 558 02c8 60E0      		ldi r22,lo8(0)
 559 02ca 70E0      		ldi r23,hi8(0)
 560 02cc 80E0      		ldi r24,lo8(0)
 561 02ce 90E0      		ldi r25,hi8(0)
 562 02d0 0E94 0000 		call UART0_Send_Message_String
 563 02d4 8DB7      		in r24,__SP_L__
 564 02d6 9EB7      		in r25,__SP_H__
 565 02d8 0C96      		adiw r24,12
 566 02da 0FB6      		in __tmp_reg__,__SREG__
 567 02dc F894      		cli
 568 02de 9EBF      		out __SP_H__,r25
 569 02e0 0FBE      		out __SREG__,__tmp_reg__
 570 02e2 8DBF      		out __SP_L__,r24
 571 02e4 00C0      		rjmp .L20
 572               	.L30:
 573               	.LBE111:
 574               	.LBE104:
 575               	/* epilogue: frame size=0 */
 576 02e6 DF91      		pop r29
 577 02e8 CF91      		pop r28
 578 02ea 1F91      		pop r17
 579 02ec 0F91      		pop r16
 580 02ee FF90      		pop r15
 581 02f0 EF90      		pop r14
 582 02f2 DF90      		pop r13
 583 02f4 CF90      		pop r12
 584 02f6 BF90      		pop r11
 585 02f8 AF90      		pop r10
 586 02fa 9F90      		pop r9
 587 02fc 8F90      		pop r8
 588 02fe 7F90      		pop r7
 589 0300 6F90      		pop r6
 590 0302 0895      		ret
 591               	/* epilogue end (size=15) */
 592               	/* function owiTemperatureFindParasiticlyPoweredDevices size 388 (359) */
 612               	.Lscope0:
 615               	.global	owiTemperatureReadSensorsCheckCommandSyntax
 617               	owiTemperatureReadSensorsCheckCommandSyntax:
 619               	.LM34:
 620               	/* prologue: frame size=0 */
 621 0304 EF92      		push r14
 622 0306 FF92      		push r15
 623 0308 0F93      		push r16
 624 030a 1F93      		push r17
 625               	/* prologue end (size=4) */
 627               	.LM35:
 628 030c FC01      		movw r30,r24
 629 030e 838D      		ldd r24,Z+27
 630 0310 8823      		tst r24
 631 0312 01F0      		breq .L39
 633               	.LM36:
 634 0314 87FD      		sbrc r24,7
 635 0316 00C0      		rjmp .L38
 636 0318 8330      		cpi r24,lo8(3)
 637 031a 04F4      		brge .L38
 639               	.LM37:
 640 031c E091 0000 		lds r30,ptr_owiStruct
 641 0320 F091 0000 		lds r31,(ptr_owiStruct)+1
 642 0324 8085      		ldd r24,Z+8
 643 0326 8823      		tst r24
 644 0328 01F4      		brne .L39
 646               	.LM38:
 647 032a 80E0      		ldi r24,lo8(__c.2557)
 648 032c 90E0      		ldi r25,hi8(__c.2557)
 649 032e 9F93      		push r25
 650 0330 8F93      		push r24
 651 0332 8FE7      		ldi r24,lo8(127)
 652 0334 90E0      		ldi r25,hi8(127)
 653 0336 9F93      		push r25
 654 0338 8F93      		push r24
 655 033a B0E0      		ldi r27,lo8(message)
 656 033c EB2E      		mov r14,r27
 657 033e B0E0      		ldi r27,hi8(message)
 658 0340 FB2E      		mov r15,r27
 659 0342 FF92      		push r15
 660 0344 EF92      		push r14
 661 0346 0E94 0000 		call snprintf_P
 663               	.LM39:
 664 034a 07E1      		ldi r16,lo8(-1001)
 665 034c 1CEF      		ldi r17,hi8(-1001)
 666 034e 9701      		movw r18,r14
 667 0350 41E0      		ldi r20,lo8(1)
 668 0352 6FEF      		ldi r22,lo8(-1)
 669 0354 7FEF      		ldi r23,hi8(-1)
 670 0356 81E0      		ldi r24,lo8(1)
 671 0358 0E94 0000 		call CommunicationError
 672 035c 8FEF      		ldi r24,lo8(255)
 673 035e 90E0      		ldi r25,hi8(255)
 675               	.LM40:
 676 0360 2DB7      		in r18,__SP_L__
 677 0362 3EB7      		in r19,__SP_H__
 678 0364 2A5F      		subi r18,lo8(-(6))
 679 0366 3F4F      		sbci r19,hi8(-(6))
 680 0368 0FB6      		in __tmp_reg__,__SREG__
 681 036a F894      		cli
 682 036c 3EBF      		out __SP_H__,r19
 683 036e 0FBE      		out __SREG__,__tmp_reg__
 684 0370 2DBF      		out __SP_L__,r18
 685 0372 00C0      		rjmp .L42
 686               	.L39:
 688               	.LM41:
 689 0374 80E0      		ldi r24,lo8(0)
 690 0376 90E0      		ldi r25,hi8(0)
 691 0378 00C0      		rjmp .L42
 692               	.L38:
 694               	.LM42:
 695 037a 80E0      		ldi r24,lo8(__c.2560)
 696 037c 90E0      		ldi r25,hi8(__c.2560)
 697 037e 9F93      		push r25
 698 0380 8F93      		push r24
 699 0382 8FE7      		ldi r24,lo8(127)
 700 0384 90E0      		ldi r25,hi8(127)
 701 0386 9F93      		push r25
 702 0388 8F93      		push r24
 703 038a A0E0      		ldi r26,lo8(message)
 704 038c EA2E      		mov r14,r26
 705 038e A0E0      		ldi r26,hi8(message)
 706 0390 FA2E      		mov r15,r26
 707 0392 FF92      		push r15
 708 0394 EF92      		push r14
 709 0396 0E94 0000 		call snprintf_P
 711               	.LM43:
 712 039a 07E1      		ldi r16,lo8(-1001)
 713 039c 1CEF      		ldi r17,hi8(-1001)
 714 039e 9701      		movw r18,r14
 715 03a0 41E0      		ldi r20,lo8(1)
 716 03a2 6FEF      		ldi r22,lo8(-1)
 717 03a4 7FEF      		ldi r23,hi8(-1)
 718 03a6 81E0      		ldi r24,lo8(1)
 719 03a8 0E94 0000 		call CommunicationError
 720 03ac 8FEF      		ldi r24,lo8(255)
 721 03ae 90E0      		ldi r25,hi8(255)
 722 03b0 EDB7      		in r30,__SP_L__
 723 03b2 FEB7      		in r31,__SP_H__
 724 03b4 3696      		adiw r30,6
 725 03b6 0FB6      		in __tmp_reg__,__SREG__
 726 03b8 F894      		cli
 727 03ba FEBF      		out __SP_H__,r31
 728 03bc 0FBE      		out __SREG__,__tmp_reg__
 729 03be EDBF      		out __SP_L__,r30
 730               	.L42:
 731               	/* epilogue: frame size=0 */
 732 03c0 1F91      		pop r17
 733 03c2 0F91      		pop r16
 734 03c4 FF90      		pop r15
 735 03c6 EF90      		pop r14
 736 03c8 0895      		ret
 737               	/* epilogue end (size=5) */
 738               	/* function owiTemperatureReadSensorsCheckCommandSyntax size 99 (90) */
 740               	.Lscope1:
 744               	.global	owiTemperatureReadSingleSensor
 746               	owiTemperatureReadSingleSensor:
 748               	.LM44:
 749               	/* prologue: frame size=0 */
 750 03ca 9F92      		push r9
 751 03cc AF92      		push r10
 752 03ce BF92      		push r11
 753 03d0 CF92      		push r12
 754 03d2 DF92      		push r13
 755 03d4 EF92      		push r14
 756 03d6 FF92      		push r15
 757 03d8 0F93      		push r16
 758 03da 1F93      		push r17
 759 03dc CF93      		push r28
 760 03de DF93      		push r29
 761               	/* prologue end (size=11) */
 762 03e0 982E      		mov r9,r24
 763 03e2 8B01      		movw r16,r22
 765               	.LM45:
 766 03e4 8091 0000 		lds r24,debug
 767 03e8 8230      		cpi r24,lo8(2)
 768 03ea 00F0      		brlo .L45
 770               	.LM46:
 771 03ec 8091 0000 		lds r24,debugMask
 772 03f0 9091 0000 		lds r25,(debugMask)+1
 773 03f4 A091 0000 		lds r26,(debugMask)+2
 774 03f8 B091 0000 		lds r27,(debugMask)+3
 775 03fc F9E0      		ldi r31,9
 776 03fe B695      	1:	lsr r27
 777 0400 A795      		ror r26
 778 0402 9795      		ror r25
 779 0404 8795      		ror r24
 780 0406 FA95      		dec r31
 781 0408 01F4      		brne 1b
 782 040a 80FD      		sbrc r24,0
 783 040c 00C0      		rjmp .L64
 784               	.L45:
 786               	.LM47:
 787 040e 292D      		mov r18,r9
 788 0410 3327      		clr r19
 789 0412 4091 0000 		lds r20,owiBusMask
 790 0416 5091 0000 		lds r21,(owiBusMask)+1
 791 041a CA01      		movw r24,r20
 792 041c 8223      		and r24,r18
 793 041e 9323      		and r25,r19
 794 0420 892B      		or r24,r25
 795 0422 01F0      		breq .+2
 796 0424 00C0      		rjmp .L48
 798               	.LM48:
 799 0426 8091 0000 		lds r24,debug
 800 042a 8230      		cpi r24,lo8(2)
 801 042c 00F4      		brsh .+2
 802 042e 00C0      		rjmp .L50
 803 0430 8091 0000 		lds r24,debugMask
 804 0434 9091 0000 		lds r25,(debugMask)+1
 805 0438 A091 0000 		lds r26,(debugMask)+2
 806 043c B091 0000 		lds r27,(debugMask)+3
 807 0440 E9E0      		ldi r30,9
 808 0442 B695      	1:	lsr r27
 809 0444 A795      		ror r26
 810 0446 9795      		ror r25
 811 0448 8795      		ror r24
 812 044a EA95      		dec r30
 813 044c 01F4      		brne 1b
 814 044e 80FF      		sbrs r24,0
 815 0450 00C0      		rjmp .L50
 817               	.LM49:
 818 0452 5F93      		push r21
 819 0454 4F93      		push r20
 820 0456 3F93      		push r19
 821 0458 2F93      		push r18
 822 045a 80E0      		ldi r24,lo8(.LC0)
 823 045c 90E0      		ldi r25,hi8(.LC0)
 824 045e 9F93      		push r25
 825 0460 8F93      		push r24
 826 0462 88E1      		ldi r24,lo8(1048)
 827 0464 94E0      		ldi r25,hi8(1048)
 828 0466 9F93      		push r25
 829 0468 8F93      		push r24
 830 046a 80E0      		ldi r24,lo8(__c.2991)
 831 046c 90E0      		ldi r25,hi8(__c.2991)
 832 046e 9F93      		push r25
 833 0470 8F93      		push r24
 834 0472 8EE7      		ldi r24,lo8(126)
 835 0474 90E0      		ldi r25,hi8(126)
 836 0476 9F93      		push r25
 837 0478 8F93      		push r24
 838 047a 80E0      		ldi r24,lo8(uart_message_string)
 839 047c 90E0      		ldi r25,hi8(uart_message_string)
 840 047e 9F93      		push r25
 841 0480 8F93      		push r24
 842 0482 0E94 0000 		call snprintf_P
 844               	.LM50:
 845 0486 60E0      		ldi r22,lo8(0)
 846 0488 70E0      		ldi r23,hi8(0)
 847 048a 80E0      		ldi r24,lo8(0)
 848 048c 90E0      		ldi r25,hi8(0)
 849 048e 0E94 0000 		call UART0_Send_Message_String
 850 0492 A12C      		mov r10,__zero_reg__
 851 0494 B12C      		mov r11,__zero_reg__
 852 0496 71E0      		ldi r23,hlo8(65536)
 853 0498 C72E      		mov r12,r23
 854 049a D12C      		mov r13,__zero_reg__
 855 049c 8DB7      		in r24,__SP_L__
 856 049e 9EB7      		in r25,__SP_H__
 857 04a0 0E96      		adiw r24,14
 858 04a2 0FB6      		in __tmp_reg__,__SREG__
 859 04a4 F894      		cli
 860 04a6 9EBF      		out __SP_H__,r25
 861 04a8 0FBE      		out __SREG__,__tmp_reg__
 862 04aa 8DBF      		out __SP_L__,r24
 863 04ac 00C0      		rjmp .L53
 864               	.L64:
 866               	.LM51:
 867 04ae 80E0      		ldi r24,lo8(.LC0)
 868 04b0 90E0      		ldi r25,hi8(.LC0)
 869 04b2 9F93      		push r25
 870 04b4 8F93      		push r24
 871 04b6 81E1      		ldi r24,lo8(1041)
 872 04b8 94E0      		ldi r25,hi8(1041)
 873 04ba 9F93      		push r25
 874 04bc 8F93      		push r24
 875 04be 80E0      		ldi r24,lo8(__c.2989)
 876 04c0 90E0      		ldi r25,hi8(__c.2989)
 877 04c2 9F93      		push r25
 878 04c4 8F93      		push r24
 879 04c6 8EE7      		ldi r24,lo8(126)
 880 04c8 90E0      		ldi r25,hi8(126)
 881 04ca 9F93      		push r25
 882 04cc 8F93      		push r24
 883 04ce 80E0      		ldi r24,lo8(uart_message_string)
 884 04d0 90E0      		ldi r25,hi8(uart_message_string)
 885 04d2 9F93      		push r25
 886 04d4 8F93      		push r24
 887 04d6 0E94 0000 		call snprintf_P
 889               	.LM52:
 890 04da 60E0      		ldi r22,lo8(0)
 891 04dc 70E0      		ldi r23,hi8(0)
 892 04de 80E0      		ldi r24,lo8(0)
 893 04e0 90E0      		ldi r25,hi8(0)
 894 04e2 0E94 0000 		call UART0_Send_Message_String
 895 04e6 8DB7      		in r24,__SP_L__
 896 04e8 9EB7      		in r25,__SP_H__
 897 04ea 0A96      		adiw r24,10
 898 04ec 0FB6      		in __tmp_reg__,__SREG__
 899 04ee F894      		cli
 900 04f0 9EBF      		out __SP_H__,r25
 901 04f2 0FBE      		out __SREG__,__tmp_reg__
 902 04f4 8DBF      		out __SP_L__,r24
 903 04f6 00C0      		rjmp .L45
 904               	.L50:
 906               	.LM53:
 907 04f8 A12C      		mov r10,__zero_reg__
 908 04fa B12C      		mov r11,__zero_reg__
 909 04fc 11E0      		ldi r17,hlo8(65536)
 910 04fe C12E      		mov r12,r17
 911 0500 D12C      		mov r13,__zero_reg__
 912 0502 00C0      		rjmp .L53
 913               	.L48:
 915               	.LM54:
 916 0504 4091 0000 		lds r20,owiTemperatureTimeoutMask
 917 0508 5091 0000 		lds r21,(owiTemperatureTimeoutMask)+1
 918 050c CA01      		movw r24,r20
 919 050e 8223      		and r24,r18
 920 0510 9323      		and r25,r19
 921 0512 892B      		or r24,r25
 922 0514 01F4      		brne .+2
 923 0516 00C0      		rjmp .L54
 925               	.LM55:
 926 0518 5F93      		push r21
 927 051a 4F93      		push r20
 928 051c 3F93      		push r19
 929 051e 2F93      		push r18
 930 0520 80E0      		ldi r24,lo8(owi_id_string)
 931 0522 90E0      		ldi r25,hi8(owi_id_string)
 932 0524 9F93      		push r25
 933 0526 8F93      		push r24
 934 0528 8EEE      		ldi r24,lo8(750)
 935 052a 92E0      		ldi r25,hi8(750)
 936 052c 9F93      		push r25
 937 052e 8F93      		push r24
 938 0530 80E0      		ldi r24,lo8(__c.2993)
 939 0532 90E0      		ldi r25,hi8(__c.2993)
 940 0534 9F93      		push r25
 941 0536 8F93      		push r24
 942 0538 6EE7      		ldi r22,lo8(126)
 943 053a C62E      		mov r12,r22
 944 053c D12C      		mov r13,__zero_reg__
 945 053e DF92      		push r13
 946 0540 CF92      		push r12
 947 0542 C0E0      		ldi r28,lo8(message)
 948 0544 D0E0      		ldi r29,hi8(message)
 949 0546 DF93      		push r29
 950 0548 CF93      		push r28
 951 054a 0E94 0000 		call snprintf_P
 953               	.LM56:
 954 054e 07E1      		ldi r16,lo8(-1001)
 955 0550 1CEF      		ldi r17,hi8(-1001)
 956 0552 9E01      		movw r18,r28
 957 0554 40E0      		ldi r20,lo8(0)
 958 0556 6FEF      		ldi r22,lo8(-1)
 959 0558 7FEF      		ldi r23,hi8(-1)
 960 055a 80E0      		ldi r24,lo8(0)
 961 055c 0E94 0000 		call CommunicationError
 963               	.LM57:
 964 0560 8DB7      		in r24,__SP_L__
 965 0562 9EB7      		in r25,__SP_H__
 966 0564 0E96      		adiw r24,14
 967 0566 0FB6      		in __tmp_reg__,__SREG__
 968 0568 F894      		cli
 969 056a 9EBF      		out __SP_H__,r25
 970 056c 0FBE      		out __SREG__,__tmp_reg__
 971 056e 8DBF      		out __SP_L__,r24
 972 0570 8091 0000 		lds r24,debug
 973 0574 8230      		cpi r24,lo8(2)
 974 0576 00F0      		brlo .L56
 975 0578 8091 0000 		lds r24,debugMask
 976 057c 9091 0000 		lds r25,(debugMask)+1
 977 0580 A091 0000 		lds r26,(debugMask)+2
 978 0584 B091 0000 		lds r27,(debugMask)+3
 979 0588 59E0      		ldi r21,9
 980 058a B695      	1:	lsr r27
 981 058c A795      		ror r26
 982 058e 9795      		ror r25
 983 0590 8795      		ror r24
 984 0592 5A95      		dec r21
 985 0594 01F4      		brne 1b
 986 0596 80FD      		sbrc r24,0
 987 0598 00C0      		rjmp .L65
 988               	.L56:
 990               	.LM58:
 991 059a 6FE7      		ldi r22,lo8(127)
 992 059c 70E0      		ldi r23,hi8(127)
 993 059e 80E0      		ldi r24,lo8(message)
 994 05a0 90E0      		ldi r25,hi8(message)
 995 05a2 0E94 0000 		call clearString
 996 05a6 A12C      		mov r10,__zero_reg__
 997 05a8 B12C      		mov r11,__zero_reg__
 998 05aa 42E0      		ldi r20,hlo8(131072)
 999 05ac C42E      		mov r12,r20
 1000 05ae D12C      		mov r13,__zero_reg__
 1001 05b0 00C0      		rjmp .L53
 1002               	.L54:
 1004               	.LM59:
 1005 05b2 892D      		mov r24,r9
 1006 05b4 0E94 0000 		call OWI_DetectPresence
 1007 05b8 8823      		tst r24
 1008 05ba 01F4      		brne .L59
 1009 05bc A12C      		mov r10,__zero_reg__
 1010 05be B12C      		mov r11,__zero_reg__
 1011 05c0 34E0      		ldi r19,hlo8(262144)
 1012 05c2 C32E      		mov r12,r19
 1013 05c4 D12C      		mov r13,__zero_reg__
 1014 05c6 00C0      		rjmp .L53
 1015               	.L59:
 1017               	.LM60:
 1018 05c8 692D      		mov r22,r9
 1019 05ca C801      		movw r24,r16
 1020 05cc 0E94 0000 		call OWI_MatchRom
 1022               	.LM61:
 1023 05d0 692D      		mov r22,r9
 1024 05d2 8EEB      		ldi r24,lo8(-66)
 1025 05d4 0E94 0000 		call OWI_SendByte
 1027               	.LM62:
 1028 05d8 892D      		mov r24,r9
 1029 05da 0E94 0000 		call OWI_ReceiveByte
 1030 05de E82E      		mov r14,r24
 1031 05e0 FF24      		clr r15
 1032 05e2 0027      		clr r16
 1033 05e4 1127      		clr r17
 1035               	.LM63:
 1036 05e6 892D      		mov r24,r9
 1037 05e8 0E94 0000 		call OWI_ReceiveByte
 1038 05ec 9927      		clr r25
 1039 05ee 982F      		mov r25,r24
 1040 05f0 8827      		clr r24
 1041 05f2 5C01      		movw r10,r24
 1042 05f4 CC24      		clr r12
 1043 05f6 DD24      		clr r13
 1045               	.LM64:
 1046 05f8 AE28      		or r10,r14
 1047 05fa BF28      		or r11,r15
 1048 05fc C02A      		or r12,r16
 1049 05fe D12A      		or r13,r17
 1051               	.LM65:
 1052 0600 892D      		mov r24,r9
 1053 0602 0E94 0000 		call OWI_DetectPresence
 1055               	.LM66:
 1056 0606 8091 0000 		lds r24,debug
 1057 060a 8230      		cpi r24,lo8(2)
 1058 060c 00F4      		brsh .+2
 1059 060e 00C0      		rjmp .L53
 1060 0610 8091 0000 		lds r24,debugMask
 1061 0614 9091 0000 		lds r25,(debugMask)+1
 1062 0618 A091 0000 		lds r26,(debugMask)+2
 1063 061c B091 0000 		lds r27,(debugMask)+3
 1064 0620 09E0      		ldi r16,9
 1065 0622 B695      	1:	lsr r27
 1066 0624 A795      		ror r26
 1067 0626 9795      		ror r25
 1068 0628 8795      		ror r24
 1069 062a 0A95      		dec r16
 1070 062c 01F4      		brne 1b
 1071 062e 80FF      		sbrs r24,0
 1072 0630 00C0      		rjmp .L53
 1074               	.LM67:
 1075 0632 80E0      		ldi r24,lo8(.LC0)
 1076 0634 90E0      		ldi r25,hi8(.LC0)
 1077 0636 9F93      		push r25
 1078 0638 8F93      		push r24
 1079 063a 83E5      		ldi r24,lo8(1107)
 1080 063c 94E0      		ldi r25,hi8(1107)
 1081 063e 9F93      		push r25
 1082 0640 8F93      		push r24
 1083 0642 80E0      		ldi r24,lo8(__c.2997)
 1084 0644 90E0      		ldi r25,hi8(__c.2997)
 1085 0646 9F93      		push r25
 1086 0648 8F93      		push r24
 1087 064a 8EE7      		ldi r24,lo8(126)
 1088 064c 90E0      		ldi r25,hi8(126)
 1089 064e 9F93      		push r25
 1090 0650 8F93      		push r24
 1091 0652 80E0      		ldi r24,lo8(uart_message_string)
 1092 0654 90E0      		ldi r25,hi8(uart_message_string)
 1093 0656 9F93      		push r25
 1094 0658 8F93      		push r24
 1095 065a 0E94 0000 		call snprintf_P
 1097               	.LM68:
 1098 065e 60E0      		ldi r22,lo8(0)
 1099 0660 70E0      		ldi r23,hi8(0)
 1100 0662 80E0      		ldi r24,lo8(0)
 1101 0664 90E0      		ldi r25,hi8(0)
 1102 0666 0E94 0000 		call UART0_Send_Message_String
 1103 066a 8DB7      		in r24,__SP_L__
 1104 066c 9EB7      		in r25,__SP_H__
 1105 066e 0A96      		adiw r24,10
 1106 0670 0FB6      		in __tmp_reg__,__SREG__
 1107 0672 F894      		cli
 1108 0674 9EBF      		out __SP_H__,r25
 1109 0676 0FBE      		out __SREG__,__tmp_reg__
 1110 0678 8DBF      		out __SP_L__,r24
 1111 067a 00C0      		rjmp .L53
 1112               	.L65:
 1114               	.LM69:
 1115 067c DF93      		push r29
 1116 067e CF93      		push r28
 1117 0680 80E0      		ldi r24,lo8(.LC0)
 1118 0682 90E0      		ldi r25,hi8(.LC0)
 1119 0684 9F93      		push r25
 1120 0686 8F93      		push r24
 1121 0688 88E2      		ldi r24,lo8(1064)
 1122 068a 94E0      		ldi r25,hi8(1064)
 1123 068c 9F93      		push r25
 1124 068e 8F93      		push r24
 1125 0690 80E0      		ldi r24,lo8(__c.2995)
 1126 0692 90E0      		ldi r25,hi8(__c.2995)
 1127 0694 9F93      		push r25
 1128 0696 8F93      		push r24
 1129 0698 DF92      		push r13
 1130 069a CF92      		push r12
 1131 069c 80E0      		ldi r24,lo8(uart_message_string)
 1132 069e 90E0      		ldi r25,hi8(uart_message_string)
 1133 06a0 9F93      		push r25
 1134 06a2 8F93      		push r24
 1135 06a4 0E94 0000 		call snprintf_P
 1137               	.LM70:
 1138 06a8 60E0      		ldi r22,lo8(0)
 1139 06aa 70E0      		ldi r23,hi8(0)
 1140 06ac 80E0      		ldi r24,lo8(0)
 1141 06ae 90E0      		ldi r25,hi8(0)
 1142 06b0 0E94 0000 		call UART0_Send_Message_String
 1143 06b4 8DB7      		in r24,__SP_L__
 1144 06b6 9EB7      		in r25,__SP_H__
 1145 06b8 0C96      		adiw r24,12
 1146 06ba 0FB6      		in __tmp_reg__,__SREG__
 1147 06bc F894      		cli
 1148 06be 9EBF      		out __SP_H__,r25
 1149 06c0 0FBE      		out __SREG__,__tmp_reg__
 1150 06c2 8DBF      		out __SP_L__,r24
 1151 06c4 00C0      		rjmp .L56
 1152               	.L53:
 1154               	.LM71:
 1155 06c6 C601      		movw r24,r12
 1156 06c8 B501      		movw r22,r10
 1157               	/* epilogue: frame size=0 */
 1158 06ca DF91      		pop r29
 1159 06cc CF91      		pop r28
 1160 06ce 1F91      		pop r17
 1161 06d0 0F91      		pop r16
 1162 06d2 FF90      		pop r15
 1163 06d4 EF90      		pop r14
 1164 06d6 DF90      		pop r13
 1165 06d8 CF90      		pop r12
 1166 06da BF90      		pop r11
 1167 06dc AF90      		pop r10
 1168 06de 9F90      		pop r9
 1169 06e0 0895      		ret
 1170               	/* epilogue end (size=12) */
 1171               	/* function owiTemperatureReadSingleSensor size 396 (373) */
 1176               	.Lscope2:
 1177               		.data
 1178               	.LC1:
 1179 0017 2573 2025 		.string	"%s %i ms"
 1179      6920 6D73 
 1179      00
 1180               		.text
 1188               	.global	owiTemperatureConversionEvaluateTimeoutFlag
 1190               	owiTemperatureConversionEvaluateTimeoutFlag:
 1192               	.LM72:
 1193               	/* prologue: frame size=0 */
 1194 06e2 6F92      		push r6
 1195 06e4 7F92      		push r7
 1196 06e6 8F92      		push r8
 1197 06e8 9F92      		push r9
 1198 06ea AF92      		push r10
 1199 06ec BF92      		push r11
 1200 06ee CF92      		push r12
 1201 06f0 DF92      		push r13
 1202 06f2 EF92      		push r14
 1203 06f4 FF92      		push r15
 1204 06f6 0F93      		push r16
 1205 06f8 1F93      		push r17
 1206               	/* prologue end (size=12) */
 1207 06fa 962F      		mov r25,r22
 1208 06fc BA01      		movw r22,r20
 1209 06fe A901      		movw r20,r18
 1210 0700 3701      		movw r6,r14
 1211 0702 4801      		movw r8,r16
 1212 0704 F601      		movw r30,r12
 1214               	.LM73:
 1215 0706 8823      		tst r24
 1216 0708 01F0      		breq .+2
 1217 070a 00C0      		rjmp .L67
 1219               	.LM74:
 1220 070c 292F      		mov r18,r25
 1221 070e 3327      		clr r19
 1222 0710 2095      		com r18
 1223 0712 3095      		com r19
 1224 0714 8091 0000 		lds r24,owiTemperatureTimeoutMask
 1225 0718 9091 0000 		lds r25,(owiTemperatureTimeoutMask)+1
 1226 071c 8223      		and r24,r18
 1227 071e 9323      		and r25,r19
 1228 0720 9093 0000 		sts (owiTemperatureTimeoutMask)+1,r25
 1229 0724 8093 0000 		sts owiTemperatureTimeoutMask,r24
 1231               	.LM75:
 1232 0728 4115      		cp r20,__zero_reg__
 1233 072a 5105      		cpc r21,__zero_reg__
 1234 072c 6105      		cpc r22,__zero_reg__
 1235 072e 7105      		cpc r23,__zero_reg__
 1236 0730 01F0      		breq .+2
 1237 0732 00C0      		rjmp .L89
 1238 0734 2091 0000 		lds r18,debug
 1239               	.L69:
 1241               	.LM76:
 1242 0738 6114      		cp r6,__zero_reg__
 1243 073a 7104      		cpc r7,__zero_reg__
 1244 073c 8104      		cpc r8,__zero_reg__
 1245 073e 9104      		cpc r9,__zero_reg__
 1246 0740 01F0      		breq .L73
 1248               	.LM77:
 1249 0742 2230      		cpi r18,lo8(2)
 1250 0744 00F0      		brlo .L75
 1251 0746 8091 0000 		lds r24,debugMask
 1252 074a 9091 0000 		lds r25,(debugMask)+1
 1253 074e A091 0000 		lds r26,(debugMask)+2
 1254 0752 B091 0000 		lds r27,(debugMask)+3
 1255 0756 39E0      		ldi r19,9
 1256 0758 B695      	1:	lsr r27
 1257 075a A795      		ror r26
 1258 075c 9795      		ror r25
 1259 075e 8795      		ror r24
 1260 0760 3A95      		dec r19
 1261 0762 01F4      		brne 1b
 1262 0764 80FD      		sbrc r24,0
 1263 0766 00C0      		rjmp .L90
 1264               	.L75:
 1266               	.LM78:
 1267 0768 91E0      		ldi r25,lo8(1)
 1268 076a 6916      		cp r6,r25
 1269 076c 7104      		cpc r7,__zero_reg__
 1270 076e 8104      		cpc r8,__zero_reg__
 1271 0770 9104      		cpc r9,__zero_reg__
 1272 0772 01F0      		breq .L73
 1273 0774 E8EA      		ldi r30,lo8(25000)
 1274 0776 F1E6      		ldi r31,hi8(25000)
 1275               	.L78:
 1276               	.LBB112:
 1277               	.LBB113:
 1278               	.LBB114:
 1279               	.LBB115:
 1281               	.Ltext3:
 1283               	.LM79:
 1284 0778 CF01      		movw r24,r30
 1285               	/* #APP */
 1286 077a 0197      		1: sbiw r24,1
 1287 077c 01F4      		brne 1b
 1288               	/* #NOAPP */
 1289 077e 0894      		sec
 1290 0780 6108      		sbc r6,__zero_reg__
 1291 0782 7108      		sbc r7,__zero_reg__
 1292 0784 8108      		sbc r8,__zero_reg__
 1293 0786 9108      		sbc r9,__zero_reg__
 1294               	.LBE115:
 1295               	.LBE114:
 1296               	.LBE113:
 1297               	.LBE112:
 1299               	.Ltext4:
 1301               	.LM80:
 1302 0788 31E0      		ldi r19,lo8(1)
 1303 078a 6316      		cp r6,r19
 1304 078c 7104      		cpc r7,__zero_reg__
 1305 078e 8104      		cpc r8,__zero_reg__
 1306 0790 9104      		cpc r9,__zero_reg__
 1307 0792 01F4      		brne .L78
 1308               	.L73:
 1310               	.LM81:
 1311 0794 2230      		cpi r18,lo8(2)
 1312 0796 00F0      		brlo .L79
 1313 0798 8091 0000 		lds r24,debugMask
 1314 079c 9091 0000 		lds r25,(debugMask)+1
 1315 07a0 A091 0000 		lds r26,(debugMask)+2
 1316 07a4 B091 0000 		lds r27,(debugMask)+3
 1317 07a8 09E0      		ldi r16,9
 1318 07aa B695      	1:	lsr r27
 1319 07ac A795      		ror r26
 1320 07ae 9795      		ror r25
 1321 07b0 8795      		ror r24
 1322 07b2 0A95      		dec r16
 1323 07b4 01F4      		brne 1b
 1324 07b6 80FD      		sbrc r24,0
 1325 07b8 00C0      		rjmp .L91
 1326               	.L79:
 1328               	.LM82:
 1329 07ba 80E0      		ldi r24,lo8(0)
 1330 07bc 90E0      		ldi r25,hi8(0)
 1331 07be 00C0      		rjmp .L82
 1332               	.L89:
 1334               	.LM83:
 1335 07c0 2091 0000 		lds r18,debug
 1336 07c4 2230      		cpi r18,lo8(2)
 1337 07c6 00F4      		brsh .+2
 1338 07c8 00C0      		rjmp .L69
 1339 07ca 8091 0000 		lds r24,debugMask
 1340 07ce 9091 0000 		lds r25,(debugMask)+1
 1341 07d2 A091 0000 		lds r26,(debugMask)+2
 1342 07d6 B091 0000 		lds r27,(debugMask)+3
 1343 07da E9E0      		ldi r30,9
 1344 07dc B695      	1:	lsr r27
 1345 07de A795      		ror r26
 1346 07e0 9795      		ror r25
 1347 07e2 8795      		ror r24
 1348 07e4 EA95      		dec r30
 1349 07e6 01F4      		brne 1b
 1350 07e8 80FF      		sbrs r24,0
 1351 07ea 00C0      		rjmp .L69
 1353               	.LM84:
 1354 07ec 4E19      		sub r20,r14
 1355 07ee 5F09      		sbc r21,r15
 1356 07f0 600B      		sbc r22,r16
 1357 07f2 710B      		sbc r23,r17
 1358 07f4 7F93      		push r23
 1359 07f6 6F93      		push r22
 1360 07f8 5F93      		push r21
 1361 07fa 4F93      		push r20
 1362 07fc 80E0      		ldi r24,lo8(.LC0)
 1363 07fe 90E0      		ldi r25,hi8(.LC0)
 1364 0800 9F93      		push r25
 1365 0802 8F93      		push r24
 1366 0804 84ED      		ldi r24,lo8(980)
 1367 0806 93E0      		ldi r25,hi8(980)
 1368 0808 9F93      		push r25
 1369 080a 8F93      		push r24
 1370 080c 80E0      		ldi r24,lo8(__c.2955)
 1371 080e 90E0      		ldi r25,hi8(__c.2955)
 1372 0810 9F93      		push r25
 1373 0812 8F93      		push r24
 1374 0814 4EE7      		ldi r20,lo8(126)
 1375 0816 E42E      		mov r14,r20
 1376 0818 F12C      		mov r15,__zero_reg__
 1377 081a FF92      		push r15
 1378 081c EF92      		push r14
 1379 081e 00E0      		ldi r16,lo8(uart_message_string)
 1380 0820 10E0      		ldi r17,hi8(uart_message_string)
 1381 0822 1F93      		push r17
 1382 0824 0F93      		push r16
 1383 0826 0E94 0000 		call snprintf_P
 1385               	.LM85:
 1386 082a 8AE0      		ldi r24,lo8(10)
 1387 082c 90E0      		ldi r25,hi8(10)
 1388 082e 9F93      		push r25
 1389 0830 8F93      		push r24
 1390 0832 1F93      		push r17
 1391 0834 0F93      		push r16
 1392 0836 80E0      		ldi r24,lo8(.LC1)
 1393 0838 90E0      		ldi r25,hi8(.LC1)
 1394 083a 9F93      		push r25
 1395 083c 8F93      		push r24
 1396 083e FF92      		push r15
 1397 0840 EF92      		push r14
 1398 0842 1F93      		push r17
 1399 0844 0F93      		push r16
 1400 0846 0E94 0000 		call snprintf
 1402               	.LM86:
 1403 084a 60E0      		ldi r22,lo8(0)
 1404 084c 70E0      		ldi r23,hi8(0)
 1405 084e 80E0      		ldi r24,lo8(0)
 1406 0850 90E0      		ldi r25,hi8(0)
 1407 0852 0E94 0000 		call UART0_Send_Message_String
 1408 0856 2DB7      		in r18,__SP_L__
 1409 0858 3EB7      		in r19,__SP_H__
 1410 085a 285E      		subi r18,lo8(-(24))
 1411 085c 3F4F      		sbci r19,hi8(-(24))
 1412 085e 0FB6      		in __tmp_reg__,__SREG__
 1413 0860 F894      		cli
 1414 0862 3EBF      		out __SP_H__,r19
 1415 0864 0FBE      		out __SREG__,__tmp_reg__
 1416 0866 2DBF      		out __SP_L__,r18
 1417 0868 2091 0000 		lds r18,debug
 1418 086c 00C0      		rjmp .L69
 1419               	.L67:
 1421               	.LM87:
 1422 086e E92E      		mov r14,r25
 1423 0870 FF24      		clr r15
 1424 0872 8091 0000 		lds r24,owiTemperatureTimeoutMask
 1425 0876 9091 0000 		lds r25,(owiTemperatureTimeoutMask)+1
 1426 087a 8E29      		or r24,r14
 1427 087c 9F29      		or r25,r15
 1428 087e 9093 0000 		sts (owiTemperatureTimeoutMask)+1,r25
 1429 0882 8093 0000 		sts owiTemperatureTimeoutMask,r24
 1431               	.LM88:
 1432 0886 8081      		ld r24,Z
 1433 0888 9181      		ldd r25,Z+1
 1434 088a 8E29      		or r24,r14
 1435 088c 9F29      		or r25,r15
 1436 088e 9183      		std Z+1,r25
 1437 0890 8083      		st Z,r24
 1439               	.LM89:
 1440 0892 08EC      		ldi r16,lo8(200)
 1441 0894 10E0      		ldi r17,hi8(200)
 1442 0896 20E0      		ldi r18,lo8(__c.2964)
 1443 0898 30E0      		ldi r19,hi8(__c.2964)
 1444 089a 40E0      		ldi r20,lo8(0)
 1445 089c 6FEF      		ldi r22,lo8(-1)
 1446 089e 7FEF      		ldi r23,hi8(-1)
 1447 08a0 80E0      		ldi r24,lo8(0)
 1448 08a2 0E94 0000 		call CommunicationError
 1450               	.LM90:
 1451 08a6 8091 0000 		lds r24,debug
 1452 08aa 8230      		cpi r24,lo8(2)
 1453 08ac 00F0      		brlo .L83
 1454 08ae 8091 0000 		lds r24,debugMask
 1455 08b2 9091 0000 		lds r25,(debugMask)+1
 1456 08b6 A091 0000 		lds r26,(debugMask)+2
 1457 08ba B091 0000 		lds r27,(debugMask)+3
 1458 08be 19E0      		ldi r17,9
 1459 08c0 B695      	1:	lsr r27
 1460 08c2 A795      		ror r26
 1461 08c4 9795      		ror r25
 1462 08c6 8795      		ror r24
 1463 08c8 1A95      		dec r17
 1464 08ca 01F4      		brne 1b
 1465 08cc 80FD      		sbrc r24,0
 1466 08ce 00C0      		rjmp .L92
 1467               	.L83:
 1469               	.LM91:
 1470 08d0 81E0      		ldi r24,lo8(1)
 1471 08d2 90E0      		ldi r25,hi8(1)
 1472 08d4 00C0      		rjmp .L82
 1473               	.L91:
 1475               	.LM92:
 1476 08d6 80E0      		ldi r24,lo8(.LC0)
 1477 08d8 90E0      		ldi r25,hi8(.LC0)
 1478 08da 9F93      		push r25
 1479 08dc 8F93      		push r24
 1480 08de 88EE      		ldi r24,lo8(1000)
 1481 08e0 93E0      		ldi r25,hi8(1000)
 1482 08e2 9F93      		push r25
 1483 08e4 8F93      		push r24
 1484 08e6 80E0      		ldi r24,lo8(__c.2962)
 1485 08e8 90E0      		ldi r25,hi8(__c.2962)
 1486 08ea 9F93      		push r25
 1487 08ec 8F93      		push r24
 1488 08ee 8EE7      		ldi r24,lo8(126)
 1489 08f0 90E0      		ldi r25,hi8(126)
 1490 08f2 9F93      		push r25
 1491 08f4 8F93      		push r24
 1492 08f6 80E0      		ldi r24,lo8(uart_message_string)
 1493 08f8 90E0      		ldi r25,hi8(uart_message_string)
 1494 08fa 9F93      		push r25
 1495 08fc 8F93      		push r24
 1496 08fe 0E94 0000 		call snprintf_P
 1498               	.LM93:
 1499 0902 60E0      		ldi r22,lo8(0)
 1500 0904 70E0      		ldi r23,hi8(0)
 1501 0906 80E0      		ldi r24,lo8(0)
 1502 0908 90E0      		ldi r25,hi8(0)
 1503 090a 0E94 0000 		call UART0_Send_Message_String
 1504 090e 80E0      		ldi r24,lo8(0)
 1505 0910 90E0      		ldi r25,hi8(0)
 1506 0912 2DB7      		in r18,__SP_L__
 1507 0914 3EB7      		in r19,__SP_H__
 1508 0916 265F      		subi r18,lo8(-(10))
 1509 0918 3F4F      		sbci r19,hi8(-(10))
 1510 091a 0FB6      		in __tmp_reg__,__SREG__
 1511 091c F894      		cli
 1512 091e 3EBF      		out __SP_H__,r19
 1513 0920 0FBE      		out __SREG__,__tmp_reg__
 1514 0922 2DBF      		out __SP_L__,r18
 1515 0924 00C0      		rjmp .L82
 1516               	.L92:
 1518               	.LM94:
 1519 0926 FF92      		push r15
 1520 0928 EF92      		push r14
 1521 092a BF92      		push r11
 1522 092c AF92      		push r10
 1523 092e 80E0      		ldi r24,lo8(.LC0)
 1524 0930 90E0      		ldi r25,hi8(.LC0)
 1525 0932 9F93      		push r25
 1526 0934 8F93      		push r24
 1527 0936 87EF      		ldi r24,lo8(1015)
 1528 0938 93E0      		ldi r25,hi8(1015)
 1529 093a 9F93      		push r25
 1530 093c 8F93      		push r24
 1532               	.LM95:
 1533 093e 80E0      		ldi r24,lo8(__c.2966)
 1534 0940 90E0      		ldi r25,hi8(__c.2966)
 1535 0942 9F93      		push r25
 1536 0944 8F93      		push r24
 1537 0946 8EE7      		ldi r24,lo8(126)
 1538 0948 90E0      		ldi r25,hi8(126)
 1539 094a 9F93      		push r25
 1540 094c 8F93      		push r24
 1541 094e 80E0      		ldi r24,lo8(uart_message_string)
 1542 0950 90E0      		ldi r25,hi8(uart_message_string)
 1543 0952 9F93      		push r25
 1544 0954 8F93      		push r24
 1545 0956 0E94 0000 		call snprintf_P
 1546 095a 81E0      		ldi r24,lo8(1)
 1547 095c 90E0      		ldi r25,hi8(1)
 1548 095e 2DB7      		in r18,__SP_L__
 1549 0960 3EB7      		in r19,__SP_H__
 1550 0962 225F      		subi r18,lo8(-(14))
 1551 0964 3F4F      		sbci r19,hi8(-(14))
 1552 0966 0FB6      		in __tmp_reg__,__SREG__
 1553 0968 F894      		cli
 1554 096a 3EBF      		out __SP_H__,r19
 1555 096c 0FBE      		out __SREG__,__tmp_reg__
 1556 096e 2DBF      		out __SP_L__,r18
 1557 0970 00C0      		rjmp .L82
 1558               	.L90:
 1560               	.LM96:
 1561 0972 9F92      		push r9
 1562 0974 8F92      		push r8
 1563 0976 7F92      		push r7
 1564 0978 6F92      		push r6
 1565 097a 80E0      		ldi r24,lo8(.LC0)
 1566 097c 90E0      		ldi r25,hi8(.LC0)
 1567 097e 9F93      		push r25
 1568 0980 8F93      		push r24
 1569 0982 8FED      		ldi r24,lo8(991)
 1570 0984 93E0      		ldi r25,hi8(991)
 1571 0986 9F93      		push r25
 1572 0988 8F93      		push r24
 1573 098a 80E0      		ldi r24,lo8(__c.2957)
 1574 098c 90E0      		ldi r25,hi8(__c.2957)
 1575 098e 9F93      		push r25
 1576 0990 8F93      		push r24
 1577 0992 8EE7      		ldi r24,lo8(126)
 1578 0994 E82E      		mov r14,r24
 1579 0996 F12C      		mov r15,__zero_reg__
 1580 0998 FF92      		push r15
 1581 099a EF92      		push r14
 1582 099c 00E0      		ldi r16,lo8(uart_message_string)
 1583 099e 10E0      		ldi r17,hi8(uart_message_string)
 1584 09a0 1F93      		push r17
 1585 09a2 0F93      		push r16
 1586 09a4 0E94 0000 		call snprintf_P
 1588               	.LM97:
 1589 09a8 8AE0      		ldi r24,lo8(10)
 1590 09aa 90E0      		ldi r25,hi8(10)
 1591 09ac 9F93      		push r25
 1592 09ae 8F93      		push r24
 1593 09b0 1F93      		push r17
 1594 09b2 0F93      		push r16
 1595 09b4 80E0      		ldi r24,lo8(.LC1)
 1596 09b6 90E0      		ldi r25,hi8(.LC1)
 1597 09b8 9F93      		push r25
 1598 09ba 8F93      		push r24
 1599 09bc FF92      		push r15
 1600 09be EF92      		push r14
 1601 09c0 1F93      		push r17
 1602 09c2 0F93      		push r16
 1603 09c4 0E94 0000 		call snprintf
 1605               	.LM98:
 1606 09c8 60E0      		ldi r22,lo8(0)
 1607 09ca 70E0      		ldi r23,hi8(0)
 1608 09cc 80E0      		ldi r24,lo8(0)
 1609 09ce 90E0      		ldi r25,hi8(0)
 1610 09d0 0E94 0000 		call UART0_Send_Message_String
 1611 09d4 8DB7      		in r24,__SP_L__
 1612 09d6 9EB7      		in r25,__SP_H__
 1613 09d8 4896      		adiw r24,24
 1614 09da 0FB6      		in __tmp_reg__,__SREG__
 1615 09dc F894      		cli
 1616 09de 9EBF      		out __SP_H__,r25
 1617 09e0 0FBE      		out __SREG__,__tmp_reg__
 1618 09e2 8DBF      		out __SP_L__,r24
 1619 09e4 2091 0000 		lds r18,debug
 1620 09e8 00C0      		rjmp .L75
 1621               	.L82:
 1622               	/* epilogue: frame size=0 */
 1623 09ea 1F91      		pop r17
 1624 09ec 0F91      		pop r16
 1625 09ee FF90      		pop r15
 1626 09f0 EF90      		pop r14
 1627 09f2 DF90      		pop r13
 1628 09f4 CF90      		pop r12
 1629 09f6 BF90      		pop r11
 1630 09f8 AF90      		pop r10
 1631 09fa 9F90      		pop r9
 1632 09fc 8F90      		pop r8
 1633 09fe 7F90      		pop r7
 1634 0a00 6F90      		pop r6
 1635 0a02 0895      		ret
 1636               	/* epilogue end (size=13) */
 1637               	/* function owiTemperatureConversionEvaluateTimeoutFlag size 403 (378) */
 1642               	.Lscope3:
 1645               	.global	owiTemperatureConversionParasitic
 1647               	owiTemperatureConversionParasitic:
 1649               	.LM99:
 1650               	/* prologue: frame size=0 */
 1651 0a04 0F93      		push r16
 1652 0a06 1F93      		push r17
 1653 0a08 CF93      		push r28
 1654 0a0a DF93      		push r29
 1655               	/* prologue end (size=4) */
 1656 0a0c 082F      		mov r16,r24
 1657 0a0e 14E4      		ldi r17,lo8(68)
 1658 0a10 C0E0      		ldi r28,lo8(0)
 1659 0a12 D0E0      		ldi r29,hi8(0)
 1661               	.LM100:
 1662 0a14 10FD      		sbrc r17,0
 1663 0a16 00C0      		rjmp .L139
 1664               	.L95:
 1666               	.LM101:
 1667 0a18 C730      		cpi r28,lo8(7)
 1668 0a1a 01F0      		breq .L140
 1670               	.LM102:
 1671 0a1c 802F      		mov r24,r16
 1672 0a1e 0E94 0000 		call OWI_WriteBit0
 1673               	.L97:
 1674 0a22 2196      		adiw r28,1
 1676               	.LM103:
 1677 0a24 C830      		cpi r28,8
 1678 0a26 D105      		cpc r29,__zero_reg__
 1679 0a28 01F0      		breq .L100
 1681               	.LM104:
 1682 0a2a 1695      		lsr r17
 1684               	.LM105:
 1685 0a2c 10FF      		sbrs r17,0
 1686 0a2e 00C0      		rjmp .L95
 1687               	.L139:
 1689               	.LM106:
 1690 0a30 802F      		mov r24,r16
 1691 0a32 0E94 0000 		call OWI_WriteBit1
 1692 0a36 00C0      		rjmp .L97
 1693               	.L140:
 1695               	.LM107:
 1696 0a38 802F      		mov r24,r16
 1697 0a3a 0E94 0000 		call OWI_WriteBit0ShortRelease
 1698               	.L100:
 1700               	.LM108:
 1701 0a3e 8FEF      		ldi r24,lo8(-1)
 1702 0a40 82B9      		out 34-0x20,r24
 1704               	.LM109:
 1705 0a42 81B9      		out 33-0x20,r24
 1706 0a44 28EE      		ldi r18,lo8(1000)
 1707 0a46 33E0      		ldi r19,hi8(1000)
 1708 0a48 EAEF      		ldi r30,lo8(250)
 1709 0a4a F0E0      		ldi r31,hi8(250)
 1710               	.L102:
 1711               	.LBB116:
 1712               	.LBB117:
 1713               	.LBB118:
 1714               	.LBB119:
 1716               	.Ltext5:
 1718               	.LM110:
 1719 0a4c CF01      		movw r24,r30
 1720               	/* #APP */
 1721 0a4e 0197      		1: sbiw r24,1
 1722 0a50 01F4      		brne 1b
 1723               	/* #NOAPP */
 1724               	.LBE119:
 1725               	.LBE118:
 1727               	.Ltext6:
   1:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    Copyright (c) 2004,2005,2007 Joerg Wunsch
   3:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    Copyright (c) 2007  Florin-Viorel Petrov
   4:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    All rights reserved.
   5:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
   6:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    Redistribution and use in source and binary forms, with or without
   7:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    modification, are permitted provided that the following conditions are met:
   8:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
   9:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    * Redistributions of source code must retain the above copyright
  10:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer.
  11:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  12:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    * Redistributions in binary form must reproduce the above copyright
  13:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer in
  14:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****      the documentation and/or other materials provided with the
  15:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****      distribution.
  16:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  17:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    * Neither the name of the copyright holders nor the names of
  18:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****      contributors may be used to endorse or promote products derived
  19:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****      from this software without specific prior written permission.
  20:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  21:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  22:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  25:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  26:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  27:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  28:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  29:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  30:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  31:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****   POSSIBILITY OF SUCH DAMAGE. */
  32:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  33:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /* $Id: delay.h,v 1.5 2007/10/28 23:25:56 joerg_wunsch Exp $ */
  34:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  35:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #ifndef _UTIL_DELAY_H_
  36:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #define _UTIL_DELAY_H_ 1
  37:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  38:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #include <inttypes.h>
  39:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #include <util/delay_basic.h>
  40:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  41:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /** \file */
  42:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /** \defgroup util_delay <util/delay.h>: Convenience functions for busy-wait delay loops
  43:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     \code
  44:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     #define F_CPU 1000000UL  // 1 MHz
  45:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     //#define F_CPU 14.7456E6
  46:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     #include <util/delay.h>
  47:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     \endcode
  48:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  49:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     \note As an alternative method, it is possible to pass the
  50:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     F_CPU macro down to the compiler from the Makefile.
  51:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     Obviously, in that case, no \c \#define statement should be
  52:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     used.
  53:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  54:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     The functions in this header file are wrappers around the basic
  55:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     busy-wait functions from <util/delay_basic.h>.  They are meant as
  56:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     convenience functions where actual time values can be specified
  57:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     rather than a number of cycles to wait for.  The idea behind is
  58:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     that compile-time constant expressions will be eliminated by
  59:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     compiler optimization so floating-point expressions can be used
  60:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     to calculate the number of delay cycles needed based on the CPU
  61:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     frequency passed by the macro F_CPU.
  62:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  63:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     \note In order for these functions to work as intended, compiler
  64:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     optimizations <em>must</em> be enabled, and the delay time
  65:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     <em>must</em> be an expression that is a known constant at
  66:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     compile-time.  If these requirements are not met, the resulting
  67:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     delay will be much longer (and basically unpredictable), and
  68:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     applications that otherwise do not use floating-point calculations
  69:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     will experience severe code bloat by the floating-point library
  70:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     routines linked into the application.
  71:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  72:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     The functions available allow the specification of microsecond, and
  73:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     millisecond delays directly, using the application-supplied macro
  74:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****     F_CPU as the CPU clock frequency (in Hertz).
  75:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  76:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** */
  77:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  78:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #if !defined(__DOXYGEN__)
  79:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** static inline void _delay_us(double __us) __attribute__((always_inline));
  80:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** static inline void _delay_ms(double __ms) __attribute__((always_inline));
  81:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #endif
  82:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  83:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #ifndef F_CPU
  84:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /* prevent compiler error by supplying a default */
  85:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** # warning "F_CPU not defined for <util/delay.h>"
  86:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** # define F_CPU 1000000UL
  87:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #endif
  88:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  89:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #ifndef __OPTIMIZE__
  90:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** # warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
  91:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** #endif
  92:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  93:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /**
  94:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    \ingroup util_delay
  95:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  96:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    Perform a delay of \c __us microseconds, using _delay_loop_1().
  97:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
  98:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    The macro F_CPU is supposed to be defined to a
  99:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    constant defining the CPU clock frequency (in Hertz).
 100:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 101:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    The maximal possible delay is 768 us / F_CPU in MHz.
 102:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 103:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    If the user requests a delay greater than the maximal possible one,
 104:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    _delay_us() will automatically call _delay_ms() instead.  The user
 105:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    will not be informed about this case.
 106:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****  */
 107:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** void
 108:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** _delay_us(double __us)
 109:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** {
 110:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	uint8_t __ticks;
 111:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	double __tmp = ((F_CPU) / 3e6) * __us;
 112:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	if (__tmp < 1.0)
 113:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		__ticks = 1;
 114:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	else if (__tmp > 255)
 115:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	{
 116:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		_delay_ms(__us / 1000.0);
 117:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		return;
 118:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	}
 119:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	else
 120:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		__ticks = (uint8_t)__tmp;
 121:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	_delay_loop_1(__ticks);
 122:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** }
 123:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 124:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 125:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** /**
 126:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    \ingroup util_delay
 127:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 128:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    Perform a delay of \c __ms milliseconds, using _delay_loop_2().
 129:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 130:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    The macro F_CPU is supposed to be defined to a
 131:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    constant defining the CPU clock frequency (in Hertz).
 132:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 133:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    The maximal possible delay is 262.14 ms / F_CPU in MHz.
 134:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 
 135:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    When the user request delay which exceed the maximum possible one,
 136:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    _delay_ms() provides a decreased resolution functionality. In this
 137:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    mode _delay_ms() will work with a resolution of 1/10 ms, providing
 138:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    delays up to 6.5535 seconds (independent from CPU frequency).  The
 139:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****    user will not be informed about decreased resolution.
 140:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h ****  */
 141:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** void
 142:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** _delay_ms(double __ms)
 143:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** {
 144:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	uint16_t __ticks;
 145:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	double __tmp = ((F_CPU) / 4e3) * __ms;
 146:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	if (__tmp < 1.0)
 147:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		__ticks = 1;
 148:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	else if (__tmp > 65535)
 149:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 	{
 150:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		//	__ticks = requested delay in 1/10 ms
 151:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		__ticks = (uint16_t) (__ms * 10.0);
 152:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		while(__ticks)
 153:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 		{
 154:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 			// wait 1/10 ms
 155:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 			_delay_loop_2(((F_CPU) / 4e3) / 10);
 156:/opt/cross/lib/gcc/avr/4.1.2/../../../../avr/include/util/delay.h **** 			__ticks --;
 1729               	.LM111:
 1730 0a52 2150      		subi r18,lo8(-(-1))
 1731 0a54 3040      		sbci r19,hi8(-(-1))
 1733               	.LM112:
 1734 0a56 01F4      		brne .L102
 1735 0a58 28EE      		ldi r18,lo8(1000)
 1736 0a5a 33E0      		ldi r19,hi8(1000)
 1737 0a5c EAEF      		ldi r30,lo8(250)
 1738 0a5e F0E0      		ldi r31,hi8(250)
 1739               	.L104:
 1740               	.LBE117:
 1741               	.LBE116:
 1742               	.LBB120:
 1743               	.LBB121:
 1744               	.LBB122:
 1745               	.LBB123:
 1747               	.Ltext7:
 1749               	.LM113:
 1750 0a60 CF01      		movw r24,r30
 1751               	/* #APP */
 1752 0a62 0197      		1: sbiw r24,1
 1753 0a64 01F4      		brne 1b
 1754               	/* #NOAPP */
 1755               	.LBE123:
 1756               	.LBE122:
 1758               	.Ltext8:
 1760               	.LM114:
 1761 0a66 2150      		subi r18,lo8(-(-1))
 1762 0a68 3040      		sbci r19,hi8(-(-1))
 1764               	.LM115:
 1765 0a6a 01F4      		brne .L104
 1766 0a6c 28EE      		ldi r18,lo8(1000)
 1767 0a6e 33E0      		ldi r19,hi8(1000)
 1768 0a70 EAEF      		ldi r30,lo8(250)
 1769 0a72 F0E0      		ldi r31,hi8(250)
 1770               	.L106:
 1771               	.LBE121:
 1772               	.LBE120:
 1773               	.LBB124:
 1774               	.LBB125:
 1775               	.LBB126:
 1776               	.LBB127:
 1778               	.Ltext9:
 1780               	.LM116:
 1781 0a74 CF01      		movw r24,r30
 1782               	/* #APP */
 1783 0a76 0197      		1: sbiw r24,1
 1784 0a78 01F4      		brne 1b
 1785               	/* #NOAPP */
 1786               	.LBE127:
 1787               	.LBE126:
 1789               	.Ltext10:
 1791               	.LM117:
 1792 0a7a 2150      		subi r18,lo8(-(-1))
 1793 0a7c 3040      		sbci r19,hi8(-(-1))
 1795               	.LM118:
 1796 0a7e 01F4      		brne .L106
 1797 0a80 28EE      		ldi r18,lo8(1000)
 1798 0a82 33E0      		ldi r19,hi8(1000)
 1799 0a84 EAEF      		ldi r30,lo8(250)
 1800 0a86 F0E0      		ldi r31,hi8(250)
 1801               	.L108:
 1802               	.LBE125:
 1803               	.LBE124:
 1804               	.LBB128:
 1805               	.LBB129:
 1806               	.LBB130:
 1807               	.LBB131:
 1809               	.Ltext11:
 1811               	.LM119:
 1812 0a88 CF01      		movw r24,r30
 1813               	/* #APP */
 1814 0a8a 0197      		1: sbiw r24,1
 1815 0a8c 01F4      		brne 1b
 1816               	/* #NOAPP */
 1817               	.LBE131:
 1818               	.LBE130:
 1820               	.Ltext12:
 1822               	.LM120:
 1823 0a8e 2150      		subi r18,lo8(-(-1))
 1824 0a90 3040      		sbci r19,hi8(-(-1))
 1826               	.LM121:
 1827 0a92 01F4      		brne .L108
 1828 0a94 28EE      		ldi r18,lo8(1000)
 1829 0a96 33E0      		ldi r19,hi8(1000)
 1830 0a98 EAEF      		ldi r30,lo8(250)
 1831 0a9a F0E0      		ldi r31,hi8(250)
 1832               	.L110:
 1833               	.LBE129:
 1834               	.LBE128:
 1835               	.LBB132:
 1836               	.LBB133:
 1837               	.LBB134:
 1838               	.LBB135:
 1840               	.Ltext13:
 1842               	.LM122:
 1843 0a9c CF01      		movw r24,r30
 1844               	/* #APP */
 1845 0a9e 0197      		1: sbiw r24,1
 1846 0aa0 01F4      		brne 1b
 1847               	/* #NOAPP */
 1848               	.LBE135:
 1849               	.LBE134:
 1851               	.Ltext14:
 1853               	.LM123:
 1854 0aa2 2150      		subi r18,lo8(-(-1))
 1855 0aa4 3040      		sbci r19,hi8(-(-1))
 1857               	.LM124:
 1858 0aa6 01F4      		brne .L110
 1859 0aa8 28EE      		ldi r18,lo8(1000)
 1860 0aaa 33E0      		ldi r19,hi8(1000)
 1861 0aac EAEF      		ldi r30,lo8(250)
 1862 0aae F0E0      		ldi r31,hi8(250)
 1863               	.L112:
 1864               	.LBE133:
 1865               	.LBE132:
 1866               	.LBB136:
 1867               	.LBB137:
 1868               	.LBB138:
 1869               	.LBB139:
 1871               	.Ltext15:
 1873               	.LM125:
 1874 0ab0 CF01      		movw r24,r30
 1875               	/* #APP */
 1876 0ab2 0197      		1: sbiw r24,1
 1877 0ab4 01F4      		brne 1b
 1878               	/* #NOAPP */
 1879               	.LBE139:
 1880               	.LBE138:
 1882               	.Ltext16:
 1884               	.LM126:
 1885 0ab6 2150      		subi r18,lo8(-(-1))
 1886 0ab8 3040      		sbci r19,hi8(-(-1))
 1888               	.LM127:
 1889 0aba 01F4      		brne .L112
 1890 0abc 28EE      		ldi r18,lo8(1000)
 1891 0abe 33E0      		ldi r19,hi8(1000)
 1892 0ac0 EAEF      		ldi r30,lo8(250)
 1893 0ac2 F0E0      		ldi r31,hi8(250)
 1894               	.L114:
 1895               	.LBE137:
 1896               	.LBE136:
 1897               	.LBB140:
 1898               	.LBB141:
 1899               	.LBB142:
 1900               	.LBB143:
 1902               	.Ltext17:
 1904               	.LM128:
 1905 0ac4 CF01      		movw r24,r30
 1906               	/* #APP */
 1907 0ac6 0197      		1: sbiw r24,1
 1908 0ac8 01F4      		brne 1b
 1909               	/* #NOAPP */
 1910               	.LBE143:
 1911               	.LBE142:
 1913               	.Ltext18:
 1915               	.LM129:
 1916 0aca 2150      		subi r18,lo8(-(-1))
 1917 0acc 3040      		sbci r19,hi8(-(-1))
 1919               	.LM130:
 1920 0ace 01F4      		brne .L114
 1921 0ad0 28EE      		ldi r18,lo8(1000)
 1922 0ad2 33E0      		ldi r19,hi8(1000)
 1923 0ad4 EAEF      		ldi r30,lo8(250)
 1924 0ad6 F0E0      		ldi r31,hi8(250)
 1925               	.L116:
 1926               	.LBE141:
 1927               	.LBE140:
 1928               	.LBB144:
 1929               	.LBB145:
 1930               	.LBB146:
 1931               	.LBB147:
 1933               	.Ltext19:
 1935               	.LM131:
 1936 0ad8 CF01      		movw r24,r30
 1937               	/* #APP */
 1938 0ada 0197      		1: sbiw r24,1
 1939 0adc 01F4      		brne 1b
 1940               	/* #NOAPP */
 1941               	.LBE147:
 1942               	.LBE146:
 1944               	.Ltext20:
 1946               	.LM132:
 1947 0ade 2150      		subi r18,lo8(-(-1))
 1948 0ae0 3040      		sbci r19,hi8(-(-1))
 1950               	.LM133:
 1951 0ae2 01F4      		brne .L116
 1952 0ae4 28EE      		ldi r18,lo8(1000)
 1953 0ae6 33E0      		ldi r19,hi8(1000)
 1954 0ae8 EAEF      		ldi r30,lo8(250)
 1955 0aea F0E0      		ldi r31,hi8(250)
 1956               	.L118:
 1957               	.LBE145:
 1958               	.LBE144:
 1959               	.LBB148:
 1960               	.LBB149:
 1961               	.LBB150:
 1962               	.LBB151:
 1964               	.Ltext21:
 1966               	.LM134:
 1967 0aec CF01      		movw r24,r30
 1968               	/* #APP */
 1969 0aee 0197      		1: sbiw r24,1
 1970 0af0 01F4      		brne 1b
 1971               	/* #NOAPP */
 1972               	.LBE151:
 1973               	.LBE150:
 1975               	.Ltext22:
 1977               	.LM135:
 1978 0af2 2150      		subi r18,lo8(-(-1))
 1979 0af4 3040      		sbci r19,hi8(-(-1))
 1981               	.LM136:
 1982 0af6 01F4      		brne .L118
 1983               	.LBE149:
 1984               	.LBE148:
 1986               	.Ltext23:
 1988               	.LM137:
 1989 0af8 11B8      		out 33-0x20,__zero_reg__
 1991               	.LM138:
 1992 0afa 12B8      		out 34-0x20,__zero_reg__
 1993               	/* epilogue: frame size=0 */
 1994 0afc DF91      		pop r29
 1995 0afe CF91      		pop r28
 1996 0b00 1F91      		pop r17
 1997 0b02 0F91      		pop r16
 1998 0b04 0895      		ret
 1999               	/* epilogue end (size=5) */
 2000               	/* function owiTemperatureConversionParasitic size 165 (156) */
 2059               	.Lscope4:
 2063               	.global	owiTemperatureSensorBySensorParasiticConversion
 2065               	owiTemperatureSensorBySensorParasiticConversion:
 2067               	.LM139:
 2068               	/* prologue: frame size=0 */
 2069               	/* prologue end (size=0) */
 2071               	.LM140:
 2072 0b06 8091 0000 		lds r24,countDEV
 2073 0b0a 9927      		clr r25
 2074 0b0c 87FD      		sbrc r24,7
 2075 0b0e 9095      		com r25
 2076 0b10 1816      		cp __zero_reg__,r24
 2077 0b12 1906      		cpc __zero_reg__,r25
 2078 0b14 04F4      		brge .L151
 2080               	.LM141:
 2081 0b16 20E0      		ldi r18,lo8(0)
 2082 0b18 AC01      		movw r20,r24
 2083               	.L144:
 2085               	.LM142:
 2086 0b1a 2F5F      		subi r18,lo8(-(1))
 2087 0b1c 822F      		mov r24,r18
 2088 0b1e 9927      		clr r25
 2089 0b20 8417      		cp r24,r20
 2090 0b22 9507      		cpc r25,r21
 2091 0b24 04F0      		brlt .L144
 2092               	.L151:
 2093 0b26 0895      		ret
 2094               	/* epilogue: frame size=0 */
 2095               	/* epilogue: noreturn */
 2096               	/* epilogue end (size=0) */
 2097               	/* function owiTemperatureSensorBySensorParasiticConversion size 17 (17) */
 2102               	.Lscope5:
 2105               	.global	owiTemperatureMiscSubCommandGetSetResolution_DS18B20
 2107               	owiTemperatureMiscSubCommandGetSetResolution_DS18B20:
 2109               	.LM143:
 2110               	/* prologue: frame size=0 */
 2111 0b28 EF92      		push r14
 2112 0b2a FF92      		push r15
 2113 0b2c 0F93      		push r16
 2114 0b2e 1F93      		push r17
 2115 0b30 CF93      		push r28
 2116 0b32 DF93      		push r29
 2117               	/* prologue end (size=6) */
 2118 0b34 EC01      		movw r28,r24
 2120               	.LM144:
 2121 0b36 8B8D      		ldd r24,Y+27
 2122 0b38 9927      		clr r25
 2123 0b3a 87FD      		sbrc r24,7
 2124 0b3c 9095      		com r25
 2125 0b3e 0197      		sbiw r24,1
 2126 0b40 01F0      		breq .L155
 2128               	.LM145:
 2129 0b42 0197      		sbiw r24,1
 2130 0b44 01F0      		breq .L162
 2132               	.LM146:
 2133 0b46 05E6      		ldi r16,lo8(101)
 2134 0b48 10E0      		ldi r17,hi8(101)
 2135 0b4a 20E0      		ldi r18,lo8(__c.2713)
 2136 0b4c 30E0      		ldi r19,hi8(__c.2713)
 2137 0b4e 41E0      		ldi r20,lo8(1)
 2138 0b50 67E1      		ldi r22,lo8(-1001)
 2139 0b52 7CEF      		ldi r23,hi8(-1001)
 2140 0b54 80E0      		ldi r24,lo8(0)
 2141 0b56 0E94 0000 		call CommunicationError
 2142 0b5a 8093 0000 		sts general_errorCode,r24
 2143 0b5e 00C0      		rjmp .L160
 2144               	.L155:
 2146               	.LM147:
 2147 0b60 00E0      		ldi r16,lo8(uart_message_string)
 2148 0b62 10E0      		ldi r17,hi8(uart_message_string)
 2149 0b64 4FE7      		ldi r20,lo8(127)
 2150 0b66 50E0      		ldi r21,hi8(127)
 2151 0b68 B801      		movw r22,r16
 2152 0b6a CE01      		movw r24,r28
 2153 0b6c 0E94 0000 		call createReceiveHeader
 2155               	.LM148:
 2156 0b70 4EE7      		ldi r20,lo8(126)
 2157 0b72 50E0      		ldi r21,hi8(126)
 2158 0b74 60E0      		ldi r22,lo8(setParameter+25)
 2159 0b76 70E0      		ldi r23,hi8(setParameter+25)
 2160 0b78 C801      		movw r24,r16
 2161 0b7a 0E94 0000 		call strncat
 2163               	.LM149:
 2164 0b7e 8091 0000 		lds r24,owiTemperatureResolution_DS18B20
 2165 0b82 9927      		clr r25
 2166 0b84 9F93      		push r25
 2167 0b86 8F93      		push r24
 2168 0b88 80E0      		ldi r24,lo8(__c.2699)
 2169 0b8a 90E0      		ldi r25,hi8(__c.2699)
 2170 0b8c 9F93      		push r25
 2171 0b8e 8F93      		push r24
 2172 0b90 8EE7      		ldi r24,lo8(126)
 2173 0b92 90E0      		ldi r25,hi8(126)
 2174 0b94 9F93      		push r25
 2175 0b96 8F93      		push r24
 2176 0b98 1F93      		push r17
 2177 0b9a 0F93      		push r16
 2178 0b9c 0E94 0000 		call snprintf_P
 2180               	.LM150:
 2181 0ba0 6EE7      		ldi r22,lo8(126)
 2182 0ba2 70E0      		ldi r23,hi8(126)
 2183 0ba4 C801      		movw r24,r16
 2184 0ba6 0E94 0000 		call UART0_Send_Message_String
 2186               	.LM151:
 2187 0baa 8DB7      		in r24,__SP_L__
 2188 0bac 9EB7      		in r25,__SP_H__
 2189 0bae 0896      		adiw r24,8
 2190 0bb0 0FB6      		in __tmp_reg__,__SREG__
 2191 0bb2 F894      		cli
 2192 0bb4 9EBF      		out __SP_H__,r25
 2193 0bb6 0FBE      		out __SREG__,__tmp_reg__
 2194 0bb8 8DBF      		out __SP_L__,r24
 2195 0bba 00C0      		rjmp .L160
 2196               	.L162:
 2197               	.LBB152:
 2199               	.LM152:
 2200 0bbc E091 0000 		lds r30,ptr_owiStruct
 2201 0bc0 F091 0000 		lds r31,(ptr_owiStruct)+1
 2202 0bc4 E384      		ldd r14,Z+11
 2203 0bc6 F484      		ldd r15,Z+12
 2205               	.LM153:
 2206 0bc8 C701      		movw r24,r14
 2207 0bca 0997      		sbiw r24,9
 2208 0bcc 0497      		sbiw r24,4
 2209 0bce 00F4      		brsh .L158
 2211               	.LM154:
 2212 0bd0 E092 0000 		sts owiTemperatureResolution_DS18B20,r14
 2214               	.LM155:
 2215 0bd4 81E0      		ldi r24,lo8(1)
 2216 0bd6 8B8F      		std Y+27,r24
 2218               	.LM156:
 2219 0bd8 CE01      		movw r24,r28
 2220 0bda 0E94 0000 		call owiTemperatureMiscSubCommandGetSetResolution_DS18B20
 2222               	.LM157:
 2223 0bde 82E0      		ldi r24,lo8(2)
 2224 0be0 8B8F      		std Y+27,r24
 2225 0be2 00C0      		rjmp .L160
 2226               	.L158:
 2228               	.LM158:
 2229 0be4 00E0      		ldi r16,lo8(message)
 2230 0be6 10E0      		ldi r17,hi8(message)
 2231 0be8 6FE7      		ldi r22,lo8(127)
 2232 0bea 70E0      		ldi r23,hi8(127)
 2233 0bec C801      		movw r24,r16
 2234 0bee 0E94 0000 		call clearString
 2236               	.LM159:
 2237 0bf2 FF92      		push r15
 2238 0bf4 EF92      		push r14
 2239 0bf6 80E0      		ldi r24,lo8(__c.2710)
 2240 0bf8 90E0      		ldi r25,hi8(__c.2710)
 2241 0bfa 9F93      		push r25
 2242 0bfc 8F93      		push r24
 2243 0bfe 8EE7      		ldi r24,lo8(126)
 2244 0c00 90E0      		ldi r25,hi8(126)
 2245 0c02 9F93      		push r25
 2246 0c04 8F93      		push r24
 2247 0c06 1F93      		push r17
 2248 0c08 0F93      		push r16
 2249 0c0a 0E94 0000 		call snprintf_P
 2251               	.LM160:
 2252 0c0e 09EA      		ldi r16,lo8(-1111)
 2253 0c10 1BEF      		ldi r17,hi8(-1111)
 2254 0c12 20E0      		ldi r18,lo8(0)
 2255 0c14 30E0      		ldi r19,hi8(0)
 2256 0c16 41E0      		ldi r20,lo8(1)
 2257 0c18 67E1      		ldi r22,lo8(-1001)
 2258 0c1a 7CEF      		ldi r23,hi8(-1001)
 2259 0c1c 80E0      		ldi r24,lo8(0)
 2260 0c1e 0E94 0000 		call CommunicationError
 2261 0c22 8093 0000 		sts general_errorCode,r24
 2263               	.LM161:
 2264 0c26 8DB7      		in r24,__SP_L__
 2265 0c28 9EB7      		in r25,__SP_H__
 2266 0c2a 0896      		adiw r24,8
 2267 0c2c 0FB6      		in __tmp_reg__,__SREG__
 2268 0c2e F894      		cli
 2269 0c30 9EBF      		out __SP_H__,r25
 2270 0c32 0FBE      		out __SREG__,__tmp_reg__
 2271 0c34 8DBF      		out __SP_L__,r24
 2272               	.L160:
 2273               	.LBE152:
 2274               	/* epilogue: frame size=0 */
 2275 0c36 DF91      		pop r29
 2276 0c38 CF91      		pop r28
 2277 0c3a 1F91      		pop r17
 2278 0c3c 0F91      		pop r16
 2279 0c3e FF90      		pop r15
 2280 0c40 EF90      		pop r14
 2281 0c42 0895      		ret
 2282               	/* epilogue end (size=7) */
 2283               	/* function owiTemperatureMiscSubCommandGetSetResolution_DS18B20 size 145 (132) */
 2288               	.Lscope6:
 2291               	.global	owiTemperatureMiscSubCommandGetSetMaxConversionTime
 2293               	owiTemperatureMiscSubCommandGetSetMaxConversionTime:
 2295               	.LM162:
 2296               	/* prologue: frame size=0 */
 2297 0c44 0F93      		push r16
 2298 0c46 1F93      		push r17
 2299 0c48 CF93      		push r28
 2300 0c4a DF93      		push r29
 2301               	/* prologue end (size=4) */
 2302 0c4c EC01      		movw r28,r24
 2304               	.LM163:
 2305 0c4e 8B8D      		ldd r24,Y+27
 2306 0c50 9927      		clr r25
 2307 0c52 87FD      		sbrc r24,7
 2308 0c54 9095      		com r25
 2309 0c56 0197      		sbiw r24,1
 2310 0c58 01F0      		breq .L165
 2312               	.LM164:
 2313 0c5a 0197      		sbiw r24,1
 2314 0c5c 01F0      		breq .L170
 2316               	.LM165:
 2317 0c5e 05E6      		ldi r16,lo8(101)
 2318 0c60 10E0      		ldi r17,hi8(101)
 2319 0c62 20E0      		ldi r18,lo8(__c.2684)
 2320 0c64 30E0      		ldi r19,hi8(__c.2684)
 2321 0c66 41E0      		ldi r20,lo8(1)
 2322 0c68 67E1      		ldi r22,lo8(-1001)
 2323 0c6a 7CEF      		ldi r23,hi8(-1001)
 2324 0c6c 80E0      		ldi r24,lo8(0)
 2325 0c6e 0E94 0000 		call CommunicationError
 2326 0c72 8093 0000 		sts general_errorCode,r24
 2327 0c76 00C0      		rjmp .L168
 2328               	.L165:
 2330               	.LM166:
 2331 0c78 00E0      		ldi r16,lo8(uart_message_string)
 2332 0c7a 10E0      		ldi r17,hi8(uart_message_string)
 2333 0c7c 4FE7      		ldi r20,lo8(127)
 2334 0c7e 50E0      		ldi r21,hi8(127)
 2335 0c80 B801      		movw r22,r16
 2336 0c82 CE01      		movw r24,r28
 2337 0c84 0E94 0000 		call createReceiveHeader
 2339               	.LM167:
 2340 0c88 4EE7      		ldi r20,lo8(126)
 2341 0c8a 50E0      		ldi r21,hi8(126)
 2342 0c8c 60E0      		ldi r22,lo8(setParameter+25)
 2343 0c8e 70E0      		ldi r23,hi8(setParameter+25)
 2344 0c90 C801      		movw r24,r16
 2345 0c92 0E94 0000 		call strncat
 2347               	.LM168:
 2348 0c96 8091 0000 		lds r24,owiTemperatureMaxConversionTime
 2349 0c9a 9091 0000 		lds r25,(owiTemperatureMaxConversionTime)+1
 2350 0c9e 9F93      		push r25
 2351 0ca0 8F93      		push r24
 2352 0ca2 9F93      		push r25
 2353 0ca4 8F93      		push r24
 2354 0ca6 80E0      		ldi r24,lo8(__c.2679)
 2355 0ca8 90E0      		ldi r25,hi8(__c.2679)
 2356 0caa 9F93      		push r25
 2357 0cac 8F93      		push r24
 2358 0cae 8EE7      		ldi r24,lo8(126)
 2359 0cb0 90E0      		ldi r25,hi8(126)
 2360 0cb2 9F93      		push r25
 2361 0cb4 8F93      		push r24
 2362 0cb6 1F93      		push r17
 2363 0cb8 0F93      		push r16
 2364 0cba 0E94 0000 		call snprintf_P
 2366               	.LM169:
 2367 0cbe 6EE7      		ldi r22,lo8(126)
 2368 0cc0 70E0      		ldi r23,hi8(126)
 2369 0cc2 C801      		movw r24,r16
 2370 0cc4 0E94 0000 		call UART0_Send_Message_String
 2372               	.LM170:
 2373 0cc8 8DB7      		in r24,__SP_L__
 2374 0cca 9EB7      		in r25,__SP_H__
 2375 0ccc 0A96      		adiw r24,10
 2376 0cce 0FB6      		in __tmp_reg__,__SREG__
 2377 0cd0 F894      		cli
 2378 0cd2 9EBF      		out __SP_H__,r25
 2379 0cd4 0FBE      		out __SREG__,__tmp_reg__
 2380 0cd6 8DBF      		out __SP_L__,r24
 2381 0cd8 00C0      		rjmp .L168
 2382               	.L170:
 2384               	.LM171:
 2385 0cda E091 0000 		lds r30,ptr_owiStruct
 2386 0cde F091 0000 		lds r31,(ptr_owiStruct)+1
 2387 0ce2 8385      		ldd r24,Z+11
 2388 0ce4 9485      		ldd r25,Z+12
 2389 0ce6 9093 0000 		sts (owiTemperatureMaxConversionTime)+1,r25
 2390 0cea 8093 0000 		sts owiTemperatureMaxConversionTime,r24
 2392               	.LM172:
 2393 0cee 81E0      		ldi r24,lo8(1)
 2394 0cf0 8B8F      		std Y+27,r24
 2396               	.LM173:
 2397 0cf2 CE01      		movw r24,r28
 2398 0cf4 0E94 0000 		call owiTemperatureMiscSubCommandGetSetMaxConversionTime
 2400               	.LM174:
 2401 0cf8 82E0      		ldi r24,lo8(2)
 2402 0cfa 8B8F      		std Y+27,r24
 2403               	.L168:
 2404               	/* epilogue: frame size=0 */
 2405 0cfc DF91      		pop r29
 2406 0cfe CF91      		pop r28
 2407 0d00 1F91      		pop r17
 2408 0d02 0F91      		pop r16
 2409 0d04 0895      		ret
 2410               	/* epilogue end (size=5) */
 2411               	/* function owiTemperatureMiscSubCommandGetSetMaxConversionTime size 99 (90) */
 2413               	.Lscope7:
 2419               	.global	owiTemperatureMiscSubCommandGetSetFlag
 2421               	owiTemperatureMiscSubCommandGetSetFlag:
 2423               	.LM175:
 2424               	/* prologue: frame size=0 */
 2425 0d06 CF92      		push r12
 2426 0d08 DF92      		push r13
 2427 0d0a FF92      		push r15
 2428 0d0c 0F93      		push r16
 2429 0d0e 1F93      		push r17
 2430 0d10 CF93      		push r28
 2431 0d12 DF93      		push r29
 2432               	/* prologue end (size=7) */
 2433 0d14 EC01      		movw r28,r24
 2434 0d16 8B01      		movw r16,r22
 2435 0d18 6A01      		movw r12,r20
 2436 0d1a F22E      		mov r15,r18
 2438               	.LM176:
 2439 0d1c 8B8D      		ldd r24,Y+27
 2440 0d1e 9927      		clr r25
 2441 0d20 87FD      		sbrc r24,7
 2442 0d22 9095      		com r25
 2443 0d24 0197      		sbiw r24,1
 2444 0d26 01F0      		breq .L173
 2446               	.LM177:
 2447 0d28 0197      		sbiw r24,1
 2448 0d2a 01F4      		brne .+2
 2449 0d2c 00C0      		rjmp .L193
 2451               	.LM178:
 2452 0d2e 05E6      		ldi r16,lo8(101)
 2453 0d30 10E0      		ldi r17,hi8(101)
 2454 0d32 20E0      		ldi r18,lo8(__c.2616)
 2455 0d34 30E0      		ldi r19,hi8(__c.2616)
 2456 0d36 41E0      		ldi r20,lo8(1)
 2457 0d38 67E1      		ldi r22,lo8(-1001)
 2458 0d3a 7CEF      		ldi r23,hi8(-1001)
 2459 0d3c 80E0      		ldi r24,lo8(0)
 2460 0d3e 0E94 0000 		call CommunicationError
 2461 0d42 8093 0000 		sts general_errorCode,r24
 2462 0d46 00C0      		rjmp .L190
 2463               	.L173:
 2465               	.LM179:
 2466 0d48 4FE7      		ldi r20,lo8(127)
 2467 0d4a 50E0      		ldi r21,hi8(127)
 2468 0d4c 60E0      		ldi r22,lo8(uart_message_string)
 2469 0d4e 70E0      		ldi r23,hi8(uart_message_string)
 2470 0d50 CE01      		movw r24,r28
 2471 0d52 0E94 0000 		call createReceiveHeader
 2473               	.LM180:
 2474 0d56 4EE7      		ldi r20,lo8(126)
 2475 0d58 50E0      		ldi r21,hi8(126)
 2476 0d5a 60E0      		ldi r22,lo8(setParameter+25)
 2477 0d5c 70E0      		ldi r23,hi8(setParameter+25)
 2478 0d5e 80E0      		ldi r24,lo8(uart_message_string)
 2479 0d60 90E0      		ldi r25,hi8(uart_message_string)
 2480 0d62 0E94 0000 		call strncat
 2482               	.LM181:
 2483 0d66 4EE7      		ldi r20,lo8(126)
 2484 0d68 50E0      		ldi r21,hi8(126)
 2485 0d6a B601      		movw r22,r12
 2486 0d6c 80E0      		ldi r24,lo8(uart_message_string)
 2487 0d6e 90E0      		ldi r25,hi8(uart_message_string)
 2488 0d70 0E94 0000 		call strncat_P
 2490               	.LM182:
 2491 0d74 FF20      		tst r15
 2492 0d76 01F0      		breq .L194
 2494               	.LM183:
 2495 0d78 F801      		movw r30,r16
 2496 0d7a 8081      		ld r24,Z
 2497 0d7c 8823      		tst r24
 2498 0d7e 01F4      		brne .L181
 2499 0d80 60E0      		ldi r22,lo8(__c.2609)
 2500 0d82 70E0      		ldi r23,hi8(__c.2609)
 2501               	.L183:
 2502 0d84 4EE7      		ldi r20,lo8(126)
 2503 0d86 50E0      		ldi r21,hi8(126)
 2504 0d88 80E0      		ldi r24,lo8(uart_message_string)
 2505 0d8a 90E0      		ldi r25,hi8(uart_message_string)
 2506 0d8c 0E94 0000 		call strncat_P
 2508               	.LM184:
 2509 0d90 6EE7      		ldi r22,lo8(126)
 2510 0d92 70E0      		ldi r23,hi8(126)
 2511 0d94 80E0      		ldi r24,lo8(uart_message_string)
 2512 0d96 90E0      		ldi r25,hi8(uart_message_string)
 2513 0d98 0E94 0000 		call UART0_Send_Message_String
 2515               	.LM185:
 2516 0d9c 6FE7      		ldi r22,lo8(127)
 2517 0d9e 70E0      		ldi r23,hi8(127)
 2518 0da0 80E0      		ldi r24,lo8(uart_message_string)
 2519 0da2 90E0      		ldi r25,hi8(uart_message_string)
 2520 0da4 0E94 0000 		call clearString
 2522               	.LM186:
 2523 0da8 6FE7      		ldi r22,lo8(127)
 2524 0daa 70E0      		ldi r23,hi8(127)
 2525 0dac 80E0      		ldi r24,lo8(message)
 2526 0dae 90E0      		ldi r25,hi8(message)
 2527 0db0 0E94 0000 		call clearString
 2528 0db4 00C0      		rjmp .L190
 2529               	.L194:
 2531               	.LM187:
 2532 0db6 F801      		movw r30,r16
 2533 0db8 8081      		ld r24,Z
 2534 0dba 8823      		tst r24
 2535 0dbc 01F4      		brne .L195
 2536 0dbe 60E0      		ldi r22,lo8(__c.2607)
 2537 0dc0 70E0      		ldi r23,hi8(__c.2607)
 2538 0dc2 00C0      		rjmp .L183
 2539               	.L193:
 2541               	.LM188:
 2542 0dc4 2223      		tst r18
 2543 0dc6 01F4      		brne .L185
 2545               	.LM189:
 2546 0dc8 20E0      		ldi r18,lo8(0)
 2547 0dca E091 0000 		lds r30,ptr_owiStruct
 2548 0dce F091 0000 		lds r31,(ptr_owiStruct)+1
 2549 0dd2 8385      		ldd r24,Z+11
 2550 0dd4 9485      		ldd r25,Z+12
 2551 0dd6 892B      		or r24,r25
 2552 0dd8 01F4      		brne .L192
 2553               	.L189:
 2555               	.LM190:
 2556 0dda F801      		movw r30,r16
 2557 0ddc 2083      		st Z,r18
 2559               	.LM191:
 2560 0dde 81E0      		ldi r24,lo8(1)
 2561 0de0 8B8F      		std Y+27,r24
 2563               	.LM192:
 2564 0de2 2F2D      		mov r18,r15
 2565 0de4 A601      		movw r20,r12
 2566 0de6 B801      		movw r22,r16
 2567 0de8 CE01      		movw r24,r28
 2568 0dea 0E94 0000 		call owiTemperatureMiscSubCommandGetSetFlag
 2570               	.LM193:
 2571 0dee 82E0      		ldi r24,lo8(2)
 2572 0df0 8B8F      		std Y+27,r24
 2573 0df2 00C0      		rjmp .L190
 2574               	.L195:
 2576               	.LM194:
 2577 0df4 60E0      		ldi r22,lo8(__c.2605)
 2578 0df6 70E0      		ldi r23,hi8(__c.2605)
 2579 0df8 00C0      		rjmp .L183
 2580               	.L181:
 2582               	.LM195:
 2583 0dfa 60E0      		ldi r22,lo8(__c.2611)
 2584 0dfc 70E0      		ldi r23,hi8(__c.2611)
 2585 0dfe 00C0      		rjmp .L183
 2586               	.L185:
 2588               	.LM196:
 2589 0e00 20E0      		ldi r18,lo8(0)
 2590 0e02 E091 0000 		lds r30,ptr_owiStruct
 2591 0e06 F091 0000 		lds r31,(ptr_owiStruct)+1
 2592 0e0a 8385      		ldd r24,Z+11
 2593 0e0c 9485      		ldd r25,Z+12
 2594 0e0e 892B      		or r24,r25
 2595 0e10 01F4      		brne .L189
 2596               	.L192:
 2597 0e12 21E0      		ldi r18,lo8(1)
 2598 0e14 00C0      		rjmp .L189
 2599               	.L190:
 2600               	/* epilogue: frame size=0 */
 2601 0e16 DF91      		pop r29
 2602 0e18 CF91      		pop r28
 2603 0e1a 1F91      		pop r17
 2604 0e1c 0F91      		pop r16
 2605 0e1e FF90      		pop r15
 2606 0e20 DF90      		pop r13
 2607 0e22 CF90      		pop r12
 2608 0e24 0895      		ret
 2609               	/* epilogue end (size=8) */
 2610               	/* function owiTemperatureMiscSubCommandGetSetFlag size 146 (131) */
 2612               	.Lscope8:
 2615               	.global	owiTemperatureMiscSubCommandGetSetForceParasiticMode
 2617               	owiTemperatureMiscSubCommandGetSetForceParasiticMode:
 2619               	.LM197:
 2620               	/* prologue: frame size=0 */
 2621 0e26 0F93      		push r16
 2622 0e28 1F93      		push r17
 2623 0e2a CF93      		push r28
 2624 0e2c DF93      		push r29
 2625               	/* prologue end (size=4) */
 2626 0e2e EC01      		movw r28,r24
 2628               	.LM198:
 2629 0e30 8B8D      		ldd r24,Y+27
 2630 0e32 9927      		clr r25
 2631 0e34 87FD      		sbrc r24,7
 2632 0e36 9095      		com r25
 2633 0e38 0197      		sbiw r24,1
 2634 0e3a 01F0      		breq .L198
 2636               	.LM199:
 2637 0e3c 0197      		sbiw r24,1
 2638 0e3e 01F0      		breq .L207
 2640               	.LM200:
 2641 0e40 05E6      		ldi r16,lo8(101)
 2642 0e42 10E0      		ldi r17,hi8(101)
 2643 0e44 20E0      		ldi r18,lo8(__c.2665)
 2644 0e46 30E0      		ldi r19,hi8(__c.2665)
 2645 0e48 41E0      		ldi r20,lo8(1)
 2646 0e4a 67E1      		ldi r22,lo8(-1001)
 2647 0e4c 7CEF      		ldi r23,hi8(-1001)
 2648 0e4e 80E0      		ldi r24,lo8(0)
 2649 0e50 0E94 0000 		call CommunicationError
 2650 0e54 8093 0000 		sts general_errorCode,r24
 2651 0e58 00C0      		rjmp .L205
 2652               	.L198:
 2654               	.LM201:
 2655 0e5a 20E0      		ldi r18,lo8(owiTemperatureCommandKeywords)
 2656 0e5c 30E0      		ldi r19,hi8(owiTemperatureCommandKeywords)
 2657 0e5e 44E0      		ldi r20,lo8(4)
 2658 0e60 6FEF      		ldi r22,lo8(-1)
 2659 0e62 CE01      		movw r24,r28
 2660 0e64 0E94 0000 		call createExtendedSubCommandReceiveResponseHeader
 2662               	.LM202:
 2663 0e68 8091 0000 		lds r24,owiTemperatureForceParasiticMode
 2664 0e6c 8823      		tst r24
 2665 0e6e 01F0      		breq .L200
 2666 0e70 60E0      		ldi r22,lo8(__c.2658)
 2667 0e72 70E0      		ldi r23,hi8(__c.2658)
 2668               	.L202:
 2669 0e74 4EE7      		ldi r20,lo8(126)
 2670 0e76 50E0      		ldi r21,hi8(126)
 2671 0e78 80E0      		ldi r24,lo8(uart_message_string)
 2672 0e7a 90E0      		ldi r25,hi8(uart_message_string)
 2673 0e7c 0E94 0000 		call strncat_P
 2675               	.LM203:
 2676 0e80 6EE7      		ldi r22,lo8(126)
 2677 0e82 70E0      		ldi r23,hi8(126)
 2678 0e84 80E0      		ldi r24,lo8(uart_message_string)
 2679 0e86 90E0      		ldi r25,hi8(uart_message_string)
 2680 0e88 0E94 0000 		call UART0_Send_Message_String
 2682               	.LM204:
 2683 0e8c 6FE7      		ldi r22,lo8(127)
 2684 0e8e 70E0      		ldi r23,hi8(127)
 2685 0e90 80E0      		ldi r24,lo8(uart_message_string)
 2686 0e92 90E0      		ldi r25,hi8(uart_message_string)
 2687 0e94 0E94 0000 		call clearString
 2688 0e98 00C0      		rjmp .L205
 2689               	.L200:
 2691               	.LM205:
 2692 0e9a 60E0      		ldi r22,lo8(__c.2660)
 2693 0e9c 70E0      		ldi r23,hi8(__c.2660)
 2694 0e9e 00C0      		rjmp .L202
 2695               	.L207:
 2697               	.LM206:
 2698 0ea0 90E0      		ldi r25,lo8(0)
 2699 0ea2 8091 0000 		lds r24,owiTemperatureForceParasiticMode
 2700 0ea6 8111      		cpse r24,__zero_reg__
 2701 0ea8 91E0      		ldi r25,lo8(1)
 2702               	.L204:
 2703 0eaa 9093 0000 		sts owiTemperatureForceParasiticMode,r25
 2705               	.LM207:
 2706 0eae 81E0      		ldi r24,lo8(1)
 2707 0eb0 8B8F      		std Y+27,r24
 2709               	.LM208:
 2710 0eb2 CE01      		movw r24,r28
 2711 0eb4 0E94 0000 		call owiTemperatureMiscSubCommandGetSetForceParasiticMode
 2713               	.LM209:
 2714 0eb8 82E0      		ldi r24,lo8(2)
 2715 0eba 8B8F      		std Y+27,r24
 2716               	.L205:
 2717               	/* epilogue: frame size=0 */
 2718 0ebc DF91      		pop r29
 2719 0ebe CF91      		pop r28
 2720 0ec0 1F91      		pop r17
 2721 0ec2 0F91      		pop r16
 2722 0ec4 0895      		ret
 2723               	/* epilogue end (size=5) */
 2724               	/* function owiTemperatureMiscSubCommandGetSetForceParasiticMode size 83 (74) */
 2726               	.Lscope9:
 2729               	.global	owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion
 2731               	owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion:
 2733               	.LM210:
 2734               	/* prologue: frame size=0 */
 2735 0ec6 0F93      		push r16
 2736 0ec8 1F93      		push r17
 2737 0eca CF93      		push r28
 2738 0ecc DF93      		push r29
 2739               	/* prologue end (size=4) */
 2740 0ece EC01      		movw r28,r24
 2742               	.LM211:
 2743 0ed0 8B8D      		ldd r24,Y+27
 2744 0ed2 9927      		clr r25
 2745 0ed4 87FD      		sbrc r24,7
 2746 0ed6 9095      		com r25
 2747 0ed8 0197      		sbiw r24,1
 2748 0eda 01F0      		breq .L210
 2750               	.LM212:
 2751 0edc 0197      		sbiw r24,1
 2752 0ede 01F0      		breq .L219
 2754               	.LM213:
 2755 0ee0 05E6      		ldi r16,lo8(101)
 2756 0ee2 10E0      		ldi r17,hi8(101)
 2757 0ee4 20E0      		ldi r18,lo8(__c.2643)
 2758 0ee6 30E0      		ldi r19,hi8(__c.2643)
 2759 0ee8 41E0      		ldi r20,lo8(1)
 2760 0eea 67E1      		ldi r22,lo8(-1001)
 2761 0eec 7CEF      		ldi r23,hi8(-1001)
 2762 0eee 80E0      		ldi r24,lo8(0)
 2763 0ef0 0E94 0000 		call CommunicationError
 2764 0ef4 8093 0000 		sts general_errorCode,r24
 2765 0ef8 00C0      		rjmp .L217
 2766               	.L210:
 2768               	.LM214:
 2769 0efa 20E0      		ldi r18,lo8(owiTemperatureCommandKeywords)
 2770 0efc 30E0      		ldi r19,hi8(owiTemperatureCommandKeywords)
 2771 0efe 46E0      		ldi r20,lo8(6)
 2772 0f00 6FEF      		ldi r22,lo8(-1)
 2773 0f02 CE01      		movw r24,r28
 2774 0f04 0E94 0000 		call createExtendedSubCommandReceiveResponseHeader
 2776               	.LM215:
 2777 0f08 8091 0000 		lds r24,owiTemperatureSensorBySensorParasiticConversionFlag
 2778 0f0c 8823      		tst r24
 2779 0f0e 01F0      		breq .L212
 2780 0f10 60E0      		ldi r22,lo8(__c.2636)
 2781 0f12 70E0      		ldi r23,hi8(__c.2636)
 2782               	.L214:
 2783 0f14 4EE7      		ldi r20,lo8(126)
 2784 0f16 50E0      		ldi r21,hi8(126)
 2785 0f18 80E0      		ldi r24,lo8(uart_message_string)
 2786 0f1a 90E0      		ldi r25,hi8(uart_message_string)
 2787 0f1c 0E94 0000 		call strncat_P
 2789               	.LM216:
 2790 0f20 6EE7      		ldi r22,lo8(126)
 2791 0f22 70E0      		ldi r23,hi8(126)
 2792 0f24 80E0      		ldi r24,lo8(uart_message_string)
 2793 0f26 90E0      		ldi r25,hi8(uart_message_string)
 2794 0f28 0E94 0000 		call UART0_Send_Message_String
 2796               	.LM217:
 2797 0f2c 6FE7      		ldi r22,lo8(127)
 2798 0f2e 70E0      		ldi r23,hi8(127)
 2799 0f30 80E0      		ldi r24,lo8(uart_message_string)
 2800 0f32 90E0      		ldi r25,hi8(uart_message_string)
 2801 0f34 0E94 0000 		call clearString
 2802 0f38 00C0      		rjmp .L217
 2803               	.L212:
 2805               	.LM218:
 2806 0f3a 60E0      		ldi r22,lo8(__c.2638)
 2807 0f3c 70E0      		ldi r23,hi8(__c.2638)
 2808 0f3e 00C0      		rjmp .L214
 2809               	.L219:
 2811               	.LM219:
 2812 0f40 90E0      		ldi r25,lo8(0)
 2813 0f42 8091 0000 		lds r24,owiTemperatureSensorBySensorParasiticConversionFlag
 2814 0f46 8111      		cpse r24,__zero_reg__
 2815 0f48 91E0      		ldi r25,lo8(1)
 2816               	.L216:
 2817 0f4a 9093 0000 		sts owiTemperatureSensorBySensorParasiticConversionFlag,r25
 2819               	.LM220:
 2820 0f4e 81E0      		ldi r24,lo8(1)
 2821 0f50 8B8F      		std Y+27,r24
 2823               	.LM221:
 2824 0f52 CE01      		movw r24,r28
 2825 0f54 0E94 0000 		call owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion
 2827               	.LM222:
 2828 0f58 82E0      		ldi r24,lo8(2)
 2829 0f5a 8B8F      		std Y+27,r24
 2830               	.L217:
 2831               	/* epilogue: frame size=0 */
 2832 0f5c DF91      		pop r29
 2833 0f5e CF91      		pop r28
 2834 0f60 1F91      		pop r17
 2835 0f62 0F91      		pop r16
 2836 0f64 0895      		ret
 2837               	/* epilogue end (size=5) */
 2838               	/* function owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion size 83 (74) */
 2840               	.Lscope10:
 2843               	.global	owiTemperatureGetNumberOfDevicesAndSetTemperatureMask
 2845               	owiTemperatureGetNumberOfDevicesAndSetTemperatureMask:
 2847               	.LM223:
 2848               	/* prologue: frame size=0 */
 2849 0f66 0F93      		push r16
 2850 0f68 1F93      		push r17
 2851               	/* prologue end (size=2) */
 2853               	.LM224:
 2854 0f6a 80E0      		ldi r24,lo8(BUSES)
 2855 0f6c 90E0      		ldi r25,hi8(BUSES)
 2856 0f6e 0E94 0000 		call owiReadDevicesID
 2857 0f72 8093 0000 		sts NumDevicesFound,r24
 2859               	.LM225:
 2860 0f76 8823      		tst r24
 2861 0f78 01F4      		brne .L221
 2863               	.LM226:
 2864 0f7a 00E0      		ldi r16,lo8(0)
 2865 0f7c 10E0      		ldi r17,hi8(0)
 2866 0f7e 20E0      		ldi r18,lo8(0)
 2867 0f80 30E0      		ldi r19,hi8(0)
 2868 0f82 40E0      		ldi r20,lo8(0)
 2869 0f84 64E0      		ldi r22,lo8(4)
 2870 0f86 70E0      		ldi r23,hi8(4)
 2871 0f88 0E94 0000 		call CommunicationError
 2872 0f8c 8093 0000 		sts general_errorCode,r24
 2873 0f90 4091 0000 		lds r20,debug
 2874               	.L223:
 2876               	.LM227:
 2877 0f94 4230      		cpi r20,lo8(2)
 2878 0f96 00F4      		brsh .+2
 2879 0f98 00C0      		rjmp .L228
 2880 0f9a 8091 0000 		lds r24,debugMask
 2881 0f9e 9091 0000 		lds r25,(debugMask)+1
 2882 0fa2 A091 0000 		lds r26,(debugMask)+2
 2883 0fa6 B091 0000 		lds r27,(debugMask)+3
 2884 0faa F9E0      		ldi r31,9
 2885 0fac B695      	1:	lsr r27
 2886 0fae A795      		ror r26
 2887 0fb0 9795      		ror r25
 2888 0fb2 8795      		ror r24
 2889 0fb4 FA95      		dec r31
 2890 0fb6 01F4      		brne 1b
 2891 0fb8 80FF      		sbrs r24,0
 2892 0fba 00C0      		rjmp .L228
 2893 0fbc 00C0      		rjmp .L235
 2894               	.L221:
 2896               	.LM228:
 2897 0fbe 1092 0000 		sts (owiTemperatureMask)+1,__zero_reg__
 2898 0fc2 1092 0000 		sts owiTemperatureMask,__zero_reg__
 2900               	.LM229:
 2901 0fc6 6091 0000 		lds r22,p_owiTemperatureMask_DS18B20
 2902 0fca 7091 0000 		lds r23,(p_owiTemperatureMask_DS18B20)+1
 2903 0fce 88E2      		ldi r24,lo8(40)
 2904 0fd0 90E0      		ldi r25,hi8(40)
 2905 0fd2 0E94 0000 		call owiScanIDS
 2906 0fd6 182F      		mov r17,r24
 2908               	.LM230:
 2909 0fd8 6091 0000 		lds r22,p_owiTemperatureMask_DS18B20
 2910 0fdc 7091 0000 		lds r23,(p_owiTemperatureMask_DS18B20)+1
 2911 0fe0 80E1      		ldi r24,lo8(16)
 2912 0fe2 90E0      		ldi r25,hi8(16)
 2913 0fe4 0E94 0000 		call owiScanIDS
 2914 0fe8 212F      		mov r18,r17
 2915 0fea 280F      		add r18,r24
 2916 0fec 312D      		mov r19,__zero_reg__
 2917 0fee 311D      		adc r19,__zero_reg__
 2918 0ff0 8901      		movw r16,r18
 2920               	.LM231:
 2921 0ff2 4091 0000 		lds r20,debug
 2922 0ff6 4230      		cpi r20,lo8(2)
 2923 0ff8 00F0      		brlo .L224
 2924 0ffa 8091 0000 		lds r24,debugMask
 2925 0ffe 9091 0000 		lds r25,(debugMask)+1
 2926 1002 A091 0000 		lds r26,(debugMask)+2
 2927 1006 B091 0000 		lds r27,(debugMask)+3
 2928 100a 29E0      		ldi r18,9
 2929 100c B695      	1:	lsr r27
 2930 100e A795      		ror r26
 2931 1010 9795      		ror r25
 2932 1012 8795      		ror r24
 2933 1014 2A95      		dec r18
 2934 1016 01F4      		brne 1b
 2935 1018 80FD      		sbrc r24,0
 2936 101a 00C0      		rjmp .L233
 2937               	.L224:
 2939               	.LM232:
 2940 101c 0115      		cp r16,__zero_reg__
 2941 101e 1105      		cpc r17,__zero_reg__
 2942 1020 01F4      		brne .+2
 2943 1022 00C0      		rjmp .L223
 2944               	.L234:
 2946               	.LM233:
 2947 1024 8091 0000 		lds r24,owiTemperatureMask
 2948 1028 9091 0000 		lds r25,(owiTemperatureMask)+1
 2949 102c 2091 0000 		lds r18,owiTemperatureMask_DS18B20
 2950 1030 3091 0000 		lds r19,(owiTemperatureMask_DS18B20)+1
 2951 1034 822B      		or r24,r18
 2952 1036 932B      		or r25,r19
 2954               	.LM234:
 2955 1038 2091 0000 		lds r18,owiTemperatureMask_DS18S20
 2956 103c 3091 0000 		lds r19,(owiTemperatureMask_DS18S20)+1
 2957 1040 822B      		or r24,r18
 2958 1042 932B      		or r25,r19
 2959 1044 9093 0000 		sts (owiTemperatureMask)+1,r25
 2960 1048 8093 0000 		sts owiTemperatureMask,r24
 2961 104c 00C0      		rjmp .L223
 2962               	.L235:
 2964               	.LM235:
 2965 104e 1F93      		push r17
 2966 1050 0F93      		push r16
 2967 1052 80E0      		ldi r24,lo8(.LC0)
 2968 1054 90E0      		ldi r25,hi8(.LC0)
 2969 1056 9F93      		push r25
 2970 1058 8F93      		push r24
 2971 105a 84E1      		ldi r24,lo8(276)
 2972 105c 91E0      		ldi r25,hi8(276)
 2973 105e 9F93      		push r25
 2974 1060 8F93      		push r24
 2975 1062 80E0      		ldi r24,lo8(__c.2574)
 2976 1064 90E0      		ldi r25,hi8(__c.2574)
 2977 1066 9F93      		push r25
 2978 1068 8F93      		push r24
 2979 106a 8EE7      		ldi r24,lo8(126)
 2980 106c 90E0      		ldi r25,hi8(126)
 2981 106e 9F93      		push r25
 2982 1070 8F93      		push r24
 2983 1072 80E0      		ldi r24,lo8(uart_message_string)
 2984 1074 90E0      		ldi r25,hi8(uart_message_string)
 2985 1076 9F93      		push r25
 2986 1078 8F93      		push r24
 2987 107a 0E94 0000 		call snprintf_P
 2989               	.LM236:
 2990 107e 60E0      		ldi r22,lo8(0)
 2991 1080 70E0      		ldi r23,hi8(0)
 2992 1082 80E0      		ldi r24,lo8(0)
 2993 1084 90E0      		ldi r25,hi8(0)
 2994 1086 0E94 0000 		call UART0_Send_Message_String
 2995 108a 2DB7      		in r18,__SP_L__
 2996 108c 3EB7      		in r19,__SP_H__
 2997 108e 245F      		subi r18,lo8(-(12))
 2998 1090 3F4F      		sbci r19,hi8(-(12))
 2999 1092 0FB6      		in __tmp_reg__,__SREG__
 3000 1094 F894      		cli
 3001 1096 3EBF      		out __SP_H__,r19
 3002 1098 0FBE      		out __SREG__,__tmp_reg__
 3003 109a 2DBF      		out __SP_L__,r18
 3004 109c 00C0      		rjmp .L228
 3005               	.L233:
 3007               	.LM237:
 3008 109e 8091 0000 		lds r24,ptr_owiStruct
 3009 10a2 9091 0000 		lds r25,(ptr_owiStruct)+1
 3010 10a6 0F96      		adiw r24,15
 3011 10a8 9F93      		push r25
 3012 10aa 8F93      		push r24
 3013 10ac 80E0      		ldi r24,lo8(.LC0)
 3014 10ae 90E0      		ldi r25,hi8(.LC0)
 3015 10b0 9F93      		push r25
 3016 10b2 8F93      		push r24
 3017 10b4 87E0      		ldi r24,lo8(263)
 3018 10b6 91E0      		ldi r25,hi8(263)
 3019 10b8 9F93      		push r25
 3020 10ba 8F93      		push r24
 3021 10bc 80E0      		ldi r24,lo8(__c.2572)
 3022 10be 90E0      		ldi r25,hi8(__c.2572)
 3023 10c0 9F93      		push r25
 3024 10c2 8F93      		push r24
 3025 10c4 8EE7      		ldi r24,lo8(126)
 3026 10c6 90E0      		ldi r25,hi8(126)
 3027 10c8 9F93      		push r25
 3028 10ca 8F93      		push r24
 3029 10cc 80E0      		ldi r24,lo8(uart_message_string)
 3030 10ce 90E0      		ldi r25,hi8(uart_message_string)
 3031 10d0 9F93      		push r25
 3032 10d2 8F93      		push r24
 3033 10d4 0E94 0000 		call snprintf_P
 3035               	.LM238:
 3036 10d8 60E0      		ldi r22,lo8(0)
 3037 10da 70E0      		ldi r23,hi8(0)
 3038 10dc 80E0      		ldi r24,lo8(0)
 3039 10de 90E0      		ldi r25,hi8(0)
 3040 10e0 0E94 0000 		call UART0_Send_Message_String
 3041 10e4 8DB7      		in r24,__SP_L__
 3042 10e6 9EB7      		in r25,__SP_H__
 3043 10e8 0C96      		adiw r24,12
 3044 10ea 0FB6      		in __tmp_reg__,__SREG__
 3045 10ec F894      		cli
 3046 10ee 9EBF      		out __SP_H__,r25
 3047 10f0 0FBE      		out __SREG__,__tmp_reg__
 3048 10f2 8DBF      		out __SP_L__,r24
 3049 10f4 4091 0000 		lds r20,debug
 3051               	.LM239:
 3052 10f8 0115      		cp r16,__zero_reg__
 3053 10fa 1105      		cpc r17,__zero_reg__
 3054 10fc 01F4      		brne .+2
 3055 10fe 00C0      		rjmp .L223
 3056 1100 00C0      		rjmp .L234
 3057               	.L228:
 3059               	.LM240:
 3060 1102 C801      		movw r24,r16
 3061               	/* epilogue: frame size=0 */
 3062 1104 1F91      		pop r17
 3063 1106 0F91      		pop r16
 3064 1108 0895      		ret
 3065               	/* epilogue end (size=3) */
 3066               	/* function owiTemperatureGetNumberOfDevicesAndSetTemperatureMask size 210 (205) */
 3071               	.Lscope11:
 3076               	.global	owiTemperatureConversions
 3078               	owiTemperatureConversions:
 3080               	.LM241:
 3081               	/* prologue: frame size=6 */
 3082 110a 2F92      		push r2
 3083 110c 3F92      		push r3
 3084 110e 4F92      		push r4
 3085 1110 5F92      		push r5
 3086 1112 6F92      		push r6
 3087 1114 7F92      		push r7
 3088 1116 8F92      		push r8
 3089 1118 9F92      		push r9
 3090 111a AF92      		push r10
 3091 111c BF92      		push r11
 3092 111e CF92      		push r12
 3093 1120 DF92      		push r13
 3094 1122 EF92      		push r14
 3095 1124 FF92      		push r15
 3096 1126 0F93      		push r16
 3097 1128 1F93      		push r17
 3098 112a CF93      		push r28
 3099 112c DF93      		push r29
 3100 112e CDB7      		in r28,__SP_L__
 3101 1130 DEB7      		in r29,__SP_H__
 3102 1132 2697      		sbiw r28,6
 3103 1134 0FB6      		in __tmp_reg__,__SREG__
 3104 1136 F894      		cli
 3105 1138 DEBF      		out __SP_H__,r29
 3106 113a 0FBE      		out __SREG__,__tmp_reg__
 3107 113c CDBF      		out __SP_L__,r28
 3108               	/* prologue end (size=26) */
 3109 113e 1C01      		movw r2,r24
 3110 1140 862E      		mov r8,r22
 3111 1142 4E83      		std Y+6,r20
 3113               	.LM242:
 3114 1144 8091 0000 		lds r24,debug
 3115 1148 8330      		cpi r24,lo8(3)
 3116 114a 00F0      		brlo .+2
 3117 114c 00C0      		rjmp .L307
 3118               	.L237:
 3120               	.LM243:
 3121 114e 1A82      		std Y+2,__zero_reg__
 3122 1150 1982      		std Y+1,__zero_reg__
 3124               	.LM244:
 3125 1152 0091 0000 		lds r16,owiTemperatureMaxConversionTime
 3126 1156 1091 0000 		lds r17,(owiTemperatureMaxConversionTime)+1
 3128               	.LM245:
 3129 115a 80E0      		ldi r24,lo8(0)
 3130 115c 0E94 0000 		call owiTemperatureFindParasiticlyPoweredDevices
 3132               	.LM246:
 3133 1160 8091 0000 		lds r24,owiTemperatureParasiticModeMask
 3134 1164 8823      		tst r24
 3135 1166 01F0      		breq .+2
 3136 1168 00C0      		rjmp .L239
 3137 116a 8091 0000 		lds r24,owiTemperatureForceParasiticMode
 3138 116e 8823      		tst r24
 3139 1170 01F0      		breq .+2
 3140 1172 00C0      		rjmp .L239
 3141               	.L241:
 3143               	.LM247:
 3144 1174 E091 0000 		lds r30,ptr_owiStruct
 3145 1178 F091 0000 		lds r31,(ptr_owiStruct)+1
 3146 117c 8085      		ldd r24,Z+8
 3147 117e 8823      		tst r24
 3148 1180 01F0      		breq .+2
 3149 1182 00C0      		rjmp .L247
 3150 1184 8FEF      		ldi r24,lo8(-1)
 3151 1186 9FEF      		ldi r25,hi8(-1)
 3152 1188 9C83      		std Y+4,r25
 3153 118a 8B83      		std Y+3,r24
 3154               	.L249:
 3156               	.LM248:
 3157 118c 98E0      		ldi r25,lo8(8)
 3158 118e 9D83      		std Y+5,r25
 3159 1190 FF24      		clr r15
 3160 1192 4424      		clr r4
 3161 1194 5524      		clr r5
 3162 1196 00C0      		rjmp .L250
 3163               	.L312:
 3164               	.LBB153:
 3166               	.LM249:
 3167 1198 8091 0000 		lds r24,debug
 3168 119c 8230      		cpi r24,lo8(2)
 3169 119e 00F0      		brlo .L257
 3170 11a0 8091 0000 		lds r24,debugMask
 3171 11a4 9091 0000 		lds r25,(debugMask)+1
 3172 11a8 A091 0000 		lds r26,(debugMask)+2
 3173 11ac B091 0000 		lds r27,(debugMask)+3
 3174 11b0 49E0      		ldi r20,9
 3175 11b2 B695      	1:	lsr r27
 3176 11b4 A795      		ror r26
 3177 11b6 9795      		ror r25
 3178 11b8 8795      		ror r24
 3179 11ba 4A95      		dec r20
 3180 11bc 01F4      		brne 1b
 3181 11be 80FD      		sbrc r24,0
 3182 11c0 00C0      		rjmp .L308
 3183               	.L257:
 3185               	.LM250:
 3186 11c2 2091 0000 		lds r18,owiTemperatureResolution_DS18B20
 3187 11c6 8CE0      		ldi r24,lo8(12)
 3188 11c8 90E0      		ldi r25,hi8(12)
 3189 11ca 821B      		sub r24,r18
 3190 11cc 9109      		sbc r25,__zero_reg__
 3191 11ce 00C0      		rjmp 2f
 3192 11d0 7694      	1:	lsr r7
 3193 11d2 6794      		ror r6
 3194 11d4 8A95      	2:	dec r24
 3195 11d6 02F4      		brpl 1b
 3196               	.L260:
 3198               	.LM251:
 3199 11d8 892D      		mov r24,r9
 3200 11da 0E94 0000 		call OWI_DetectPresence
 3201 11de 8823      		tst r24
 3202 11e0 01F0      		breq .+2
 3203 11e2 00C0      		rjmp .L263
 3204               	.L313:
 3206               	.LM252:
 3207 11e4 8091 0000 		lds r24,debug
 3208 11e8 8230      		cpi r24,lo8(2)
 3209 11ea 00F0      		brlo .L254
 3210 11ec 8091 0000 		lds r24,debugMask
 3211 11f0 9091 0000 		lds r25,(debugMask)+1
 3212 11f4 A091 0000 		lds r26,(debugMask)+2
 3213 11f8 B091 0000 		lds r27,(debugMask)+3
 3214 11fc 29E0      		ldi r18,9
 3215 11fe B695      	1:	lsr r27
 3216 1200 A795      		ror r26
 3217 1202 9795      		ror r25
 3218 1204 8795      		ror r24
 3219 1206 2A95      		dec r18
 3220 1208 01F4      		brne 1b
 3221 120a 80FD      		sbrc r24,0
 3222 120c 00C0      		rjmp .L309
 3223               	.L254:
 3225               	.LM253:
 3226 120e 0894      		sec
 3227 1210 411C      		adc r4,__zero_reg__
 3228 1212 511C      		adc r5,__zero_reg__
 3230               	.LM254:
 3231 1214 2D81      		ldd r18,Y+5
 3232 1216 822F      		mov r24,r18
 3233 1218 9927      		clr r25
 3234 121a 4816      		cp r4,r24
 3235 121c 5906      		cpc r5,r25
 3236 121e 04F0      		brlt .+2
 3237 1220 00C0      		rjmp .L310
 3238               	.L250:
 3240               	.LM255:
 3241 1222 8091 0000 		lds r24,owiUseCommonTemperatureConversion_flag
 3242 1226 8130      		cpi r24,lo8(1)
 3243 1228 01F4      		brne .+2
 3244 122a 00C0      		rjmp .L311
 3246               	.LM256:
 3247 122c F101      		movw r30,r2
 3248 122e E40D      		add r30,r4
 3249 1230 F51D      		adc r31,r5
 3250 1232 9080      		ld r9,Z
 3252               	.LM257:
 3253 1234 2091 0000 		lds r18,owiTemperatureMask
 3254 1238 3091 0000 		lds r19,(owiTemperatureMask)+1
 3255 123c 4091 0000 		lds r20,owiBusMask
 3256 1240 5091 0000 		lds r21,(owiBusMask)+1
 3257 1244 01E0      		ldi r16,lo8(1)
 3258 1246 642D      		mov r22,r4
 3259 1248 892D      		mov r24,r9
 3260 124a 0E94 0000 		call checkBusAndDeviceActivityMasks
 3261 124e 8823      		tst r24
 3262 1250 01F4      		brne .L254
 3263               	.L253:
 3265               	.LM258:
 3266 1252 6090 0000 		lds r6,owiTemperatureMaxConversionTime
 3267 1256 7090 0000 		lds r7,(owiTemperatureMaxConversionTime)+1
 3269               	.LM259:
 3270 125a 092D      		mov r16,r9
 3271 125c 1127      		clr r17
 3272 125e 8091 0000 		lds r24,owiTemperatureMask_DS18S20
 3273 1262 9091 0000 		lds r25,(owiTemperatureMask_DS18S20)+1
 3274 1266 8023      		and r24,r16
 3275 1268 9123      		and r25,r17
 3276 126a 892B      		or r24,r25
 3277 126c 01F4      		brne .+2
 3278 126e 00C0      		rjmp .L312
 3280               	.LM260:
 3281 1270 8091 0000 		lds r24,debug
 3282 1274 8230      		cpi r24,lo8(2)
 3283 1276 00F4      		brsh .+2
 3284 1278 00C0      		rjmp .L260
 3285 127a 8091 0000 		lds r24,debugMask
 3286 127e 9091 0000 		lds r25,(debugMask)+1
 3287 1282 A091 0000 		lds r26,(debugMask)+2
 3288 1286 B091 0000 		lds r27,(debugMask)+3
 3289 128a 39E0      		ldi r19,9
 3290 128c B695      	1:	lsr r27
 3291 128e A795      		ror r26
 3292 1290 9795      		ror r25
 3293 1292 8795      		ror r24
 3294 1294 3A95      		dec r19
 3295 1296 01F4      		brne 1b
 3296 1298 80FF      		sbrs r24,0
 3297 129a 00C0      		rjmp .L260
 3299               	.LM261:
 3300 129c 1F93      		push r17
 3301 129e 0F93      		push r16
 3302 12a0 7F92      		push r7
 3303 12a2 6F92      		push r6
 3304 12a4 80E0      		ldi r24,lo8(.LC0)
 3305 12a6 90E0      		ldi r25,hi8(.LC0)
 3306 12a8 9F93      		push r25
 3307 12aa 8F93      		push r24
 3308 12ac 80E3      		ldi r24,lo8(816)
 3309 12ae 93E0      		ldi r25,hi8(816)
 3310 12b0 9F93      		push r25
 3311 12b2 8F93      		push r24
 3313               	.LM262:
 3314 12b4 80E0      		ldi r24,lo8(__c.2868)
 3315 12b6 90E0      		ldi r25,hi8(__c.2868)
 3316 12b8 9F93      		push r25
 3317 12ba 8F93      		push r24
 3318 12bc 2EE7      		ldi r18,lo8(126)
 3319 12be 30E0      		ldi r19,hi8(126)
 3320 12c0 3F93      		push r19
 3321 12c2 2F93      		push r18
 3322 12c4 80E0      		ldi r24,lo8(uart_message_string)
 3323 12c6 90E0      		ldi r25,hi8(uart_message_string)
 3324 12c8 9F93      		push r25
 3325 12ca 8F93      		push r24
 3326 12cc 0E94 0000 		call snprintf_P
 3328               	.LM263:
 3329 12d0 60E0      		ldi r22,lo8(0)
 3330 12d2 70E0      		ldi r23,hi8(0)
 3331 12d4 80E0      		ldi r24,lo8(0)
 3332 12d6 90E0      		ldi r25,hi8(0)
 3333 12d8 0E94 0000 		call UART0_Send_Message_String
 3334 12dc 2DB7      		in r18,__SP_L__
 3335 12de 3EB7      		in r19,__SP_H__
 3336 12e0 225F      		subi r18,lo8(-(14))
 3337 12e2 3F4F      		sbci r19,hi8(-(14))
 3338 12e4 0FB6      		in __tmp_reg__,__SREG__
 3339 12e6 F894      		cli
 3340 12e8 3EBF      		out __SP_H__,r19
 3341 12ea 0FBE      		out __SREG__,__tmp_reg__
 3342 12ec 2DBF      		out __SP_L__,r18
 3344               	.LM264:
 3345 12ee 892D      		mov r24,r9
 3346 12f0 0E94 0000 		call OWI_DetectPresence
 3347 12f4 8823      		tst r24
 3348 12f6 01F4      		brne .+2
 3349 12f8 00C0      		rjmp .L313
 3350               	.L263:
 3352               	.LM265:
 3353 12fa 8091 0000 		lds r24,debug
 3354 12fe 8230      		cpi r24,lo8(2)
 3355 1300 00F0      		brlo .L267
 3356 1302 8091 0000 		lds r24,debugMask
 3357 1306 9091 0000 		lds r25,(debugMask)+1
 3358 130a A091 0000 		lds r26,(debugMask)+2
 3359 130e B091 0000 		lds r27,(debugMask)+3
 3360 1312 F9E0      		ldi r31,9
 3361 1314 B695      	1:	lsr r27
 3362 1316 A795      		ror r26
 3363 1318 9795      		ror r25
 3364 131a 8795      		ror r24
 3365 131c FA95      		dec r31
 3366 131e 01F4      		brne 1b
 3367 1320 80FD      		sbrc r24,0
 3368 1322 00C0      		rjmp .L314
 3369               	.L267:
 3371               	.LM266:
 3372 1324 8091 0000 		lds r24,owiTemperatureForceParasiticMode
 3373 1328 8823      		tst r24
 3374 132a 01F0      		breq .+2
 3375 132c 00C0      		rjmp .L270
 3376 132e 8091 0000 		lds r24,owiTemperatureParasiticModeMask
 3377 1332 8921      		and r24,r9
 3378 1334 9927      		clr r25
 3379 1336 8F70      		andi r24,lo8(15)
 3380 1338 9070      		andi r25,hi8(15)
 3381 133a 892B      		or r24,r25
 3382 133c 01F0      		breq .+2
 3383 133e 00C0      		rjmp .L270
 3385               	.LM267:
 3386 1340 91E0      		ldi r25,lo8(1)
 3387 1342 8916      		cp r8,r25
 3388 1344 01F4      		brne .+2
 3389 1346 00C0      		rjmp .L315
 3390               	.L282:
 3392               	.LM268:
 3393 1348 AA24      		clr r10
 3394 134a BB24      		clr r11
 3395 134c 6E01      		movw r12,r28
 3396 134e 0894      		sec
 3397 1350 C11C      		adc r12,__zero_reg__
 3398 1352 D11C      		adc r13,__zero_reg__
 3399 1354 EE24      		clr r14
 3400 1356 FF24      		clr r15
 3401 1358 8701      		movw r16,r14
 3402 135a 20E0      		ldi r18,lo8(0)
 3403 135c 30E0      		ldi r19,hi8(0)
 3404 135e 40E0      		ldi r20,hlo8(0)
 3405 1360 50E0      		ldi r21,hhi8(0)
 3406 1362 692D      		mov r22,r9
 3407 1364 80E0      		ldi r24,lo8(0)
 3408 1366 0E94 0000 		call owiTemperatureConversionEvaluateTimeoutFlag
 3409 136a F82E      		mov r15,r24
 3411               	.LM269:
 3412 136c 2E81      		ldd r18,Y+6
 3413 136e 2130      		cpi r18,lo8(1)
 3414 1370 01F0      		breq .+2
 3415 1372 00C0      		rjmp .L254
 3417               	.LM270:
 3418 1374 38EE      		ldi r19,lo8(1000)
 3419 1376 6316      		cp r6,r19
 3420 1378 33E0      		ldi r19,hi8(1000)
 3421 137a 7306      		cpc r7,r19
 3422 137c 00F0      		brlo .+2
 3423 137e 00C0      		rjmp .L296
 3424 1380 61E0      		ldi r22,lo8(1)
 3425               	.L298:
 3426 1382 6093 0000 		sts owiTemperatureConversionGoingOnCountDown,r22
 3427 1386 00C0      		rjmp .L254
 3428               	.L239:
 3429               	.LBE153:
 3431               	.LM271:
 3432 1388 8091 0000 		lds r24,ptr_uartStruct
 3433 138c 9091 0000 		lds r25,(ptr_uartStruct)+1
 3434 1390 0E94 0000 		call owiTemperatureGetNumberOfDevicesAndSetTemperatureMask
 3435 1394 892B      		or r24,r25
 3436 1396 01F0      		breq .+2
 3437 1398 00C0      		rjmp .L241
 3439               	.LM272:
 3440 139a 8091 0000 		lds r24,debug
 3441 139e 8230      		cpi r24,lo8(2)
 3442 13a0 00F0      		brlo .L243
 3443 13a2 8091 0000 		lds r24,debugMask
 3444 13a6 9091 0000 		lds r25,(debugMask)+1
 3445 13aa A091 0000 		lds r26,(debugMask)+2
 3446 13ae B091 0000 		lds r27,(debugMask)+3
 3447 13b2 59E0      		ldi r21,9
 3448 13b4 B695      	1:	lsr r27
 3449 13b6 A795      		ror r26
 3450 13b8 9795      		ror r25
 3451 13ba 8795      		ror r24
 3452 13bc 5A95      		dec r21
 3453 13be 01F4      		brne 1b
 3454 13c0 80FD      		sbrc r24,0
 3455 13c2 00C0      		rjmp .L316
 3456               	.L243:
 3458               	.LM273:
 3459 13c4 80E0      		ldi r24,lo8(0)
 3460 13c6 90E0      		ldi r25,hi8(0)
 3461 13c8 00C0      		rjmp .L246
 3462               	.L247:
 3464               	.LM274:
 3465 13ca CF01      		movw r24,r30
 3466 13cc 0E94 0000 		call owiFindIdAndGetIndex
 3467 13d0 9C83      		std Y+4,r25
 3468 13d2 8B83      		std Y+3,r24
 3469 13d4 00C0      		rjmp .L249
 3470               	.L311:
 3471               	.LBB154:
 3473               	.LM275:
 3474 13d6 4091 0000 		lds r20,owiTemperatureMask
 3475 13da 5091 0000 		lds r21,(owiTemperatureMask)+1
 3476 13de 6091 0000 		lds r22,owiBusMask
 3477 13e2 7091 0000 		lds r23,(owiBusMask)+1
 3478 13e6 C101      		movw r24,r2
 3479 13e8 0E94 0000 		call generateCommonPinsPattern
 3480 13ec 982E      		mov r9,r24
 3481 13ee 21E0      		ldi r18,lo8(1)
 3482 13f0 2D83      		std Y+5,r18
 3483 13f2 00C0      		rjmp .L253
 3484               	.L270:
 3486               	.LM276:
 3487 13f4 8091 0000 		lds r24,debug
 3488 13f8 8330      		cpi r24,lo8(3)
 3489 13fa 00F0      		brlo .L273
 3490 13fc 8091 0000 		lds r24,debugMask
 3491 1400 9091 0000 		lds r25,(debugMask)+1
 3492 1404 A091 0000 		lds r26,(debugMask)+2
 3493 1408 B091 0000 		lds r27,(debugMask)+3
 3494 140c E9E0      		ldi r30,9
 3495 140e B695      	1:	lsr r27
 3496 1410 A795      		ror r26
 3497 1412 9795      		ror r25
 3498 1414 8795      		ror r24
 3499 1416 EA95      		dec r30
 3500 1418 01F4      		brne 1b
 3501 141a 80FD      		sbrc r24,0
 3502 141c 00C0      		rjmp .L317
 3503               	.L273:
 3505               	.LM277:
 3506 141e 8091 0000 		lds r24,owiTemperatureSensorBySensorParasiticConversionFlag
 3507 1422 8823      		tst r24
 3508 1424 01F0      		breq .L276
 3510               	.LM278:
 3511 1426 692D      		mov r22,r9
 3512 1428 8CEC      		ldi r24,lo8(-52)
 3513 142a 0E94 0000 		call OWI_SendByte
 3515               	.LM279:
 3516 142e 892D      		mov r24,r9
 3517 1430 0E94 0000 		call owiTemperatureConversionParasitic
 3518               	.L278:
 3520               	.LM280:
 3521 1434 8091 0000 		lds r24,debug
 3522 1438 8330      		cpi r24,lo8(3)
 3523 143a 00F0      		brlo .L279
 3524 143c 8091 0000 		lds r24,debugMask
 3525 1440 9091 0000 		lds r25,(debugMask)+1
 3526 1444 A091 0000 		lds r26,(debugMask)+2
 3527 1448 B091 0000 		lds r27,(debugMask)+3
 3528 144c 79E0      		ldi r23,9
 3529 144e B695      	1:	lsr r27
 3530 1450 A795      		ror r26
 3531 1452 9795      		ror r25
 3532 1454 8795      		ror r24
 3533 1456 7A95      		dec r23
 3534 1458 01F4      		brne 1b
 3535 145a 80FD      		sbrc r24,0
 3536 145c 00C0      		rjmp .L318
 3537               	.L279:
 3539               	.LM281:
 3540 145e 91E0      		ldi r25,lo8(1)
 3541 1460 8916      		cp r8,r25
 3542 1462 01F0      		breq .+2
 3543 1464 00C0      		rjmp .L282
 3544 1466 E090 0000 		lds r14,count.2856
 3545 146a F090 0000 		lds r15,(count.2856)+1
 3546 146e 0091 0000 		lds r16,(count.2856)+2
 3547 1472 1091 0000 		lds r17,(count.2856)+3
 3548               	.L293:
 3550               	.LM282:
 3551 1476 2091 0000 		lds r18,maxcount.2857
 3552 147a 3091 0000 		lds r19,(maxcount.2857)+1
 3553 147e 4091 0000 		lds r20,(maxcount.2857)+2
 3554 1482 5091 0000 		lds r21,(maxcount.2857)+3
 3555 1486 5301      		movw r10,r6
 3556 1488 6E01      		movw r12,r28
 3557 148a 0894      		sec
 3558 148c C11C      		adc r12,__zero_reg__
 3559 148e D11C      		adc r13,__zero_reg__
 3560 1490 692D      		mov r22,r9
 3561 1492 8091 0000 		lds r24,timeout_flag.2855
 3562 1496 0E94 0000 		call owiTemperatureConversionEvaluateTimeoutFlag
 3563 149a F82E      		mov r15,r24
 3564 149c 41E0      		ldi r20,lo8(1)
 3565 149e 842E      		mov r8,r20
 3566 14a0 00C0      		rjmp .L254
 3567               	.L276:
 3569               	.LM283:
 3570 14a2 6B81      		ldd r22,Y+3
 3571 14a4 7C81      		ldd r23,Y+4
 3572 14a6 892D      		mov r24,r9
 3573 14a8 0E94 0000 		call owiTemperatureSensorBySensorParasiticConversion
 3574 14ac 8824      		clr r8
 3575 14ae 00C0      		rjmp .L278
 3576               	.L310:
 3577               	.LBE154:
 3579               	.LM284:
 3580 14b0 8091 0000 		lds r24,debug
 3581 14b4 8230      		cpi r24,lo8(2)
 3582 14b6 00F0      		brlo .L300
 3583 14b8 8091 0000 		lds r24,debugMask
 3584 14bc 9091 0000 		lds r25,(debugMask)+1
 3585 14c0 A091 0000 		lds r26,(debugMask)+2
 3586 14c4 B091 0000 		lds r27,(debugMask)+3
 3587 14c8 39E0      		ldi r19,9
 3588 14ca B695      	1:	lsr r27
 3589 14cc A795      		ror r26
 3590 14ce 9795      		ror r25
 3591 14d0 8795      		ror r24
 3592 14d2 3A95      		dec r19
 3593 14d4 01F4      		brne 1b
 3594 14d6 80FD      		sbrc r24,0
 3595 14d8 00C0      		rjmp .L319
 3596               	.L300:
 3598               	.LM285:
 3599 14da 8F2D      		mov r24,r15
 3600 14dc 9927      		clr r25
 3601 14de 00C0      		rjmp .L246
 3602               	.L308:
 3603               	.LBB155:
 3605               	.LM286:
 3606 14e0 1F93      		push r17
 3607 14e2 0F93      		push r16
 3608 14e4 7F92      		push r7
 3609 14e6 6F92      		push r6
 3610 14e8 80E0      		ldi r24,lo8(.LC0)
 3611 14ea 90E0      		ldi r25,hi8(.LC0)
 3612 14ec 9F93      		push r25
 3613 14ee 8F93      		push r24
 3614 14f0 84E2      		ldi r24,lo8(804)
 3615 14f2 93E0      		ldi r25,hi8(804)
 3616 14f4 9F93      		push r25
 3617 14f6 8F93      		push r24
 3619               	.LM287:
 3620 14f8 80E0      		ldi r24,lo8(__c.2866)
 3621 14fa 90E0      		ldi r25,hi8(__c.2866)
 3622 14fc 9F93      		push r25
 3623 14fe 8F93      		push r24
 3624 1500 2EE7      		ldi r18,lo8(126)
 3625 1502 30E0      		ldi r19,hi8(126)
 3626 1504 3F93      		push r19
 3627 1506 2F93      		push r18
 3628 1508 80E0      		ldi r24,lo8(uart_message_string)
 3629 150a 90E0      		ldi r25,hi8(uart_message_string)
 3630 150c 9F93      		push r25
 3631 150e 8F93      		push r24
 3632 1510 0E94 0000 		call snprintf_P
 3634               	.LM288:
 3635 1514 60E0      		ldi r22,lo8(0)
 3636 1516 70E0      		ldi r23,hi8(0)
 3637 1518 80E0      		ldi r24,lo8(0)
 3638 151a 90E0      		ldi r25,hi8(0)
 3639 151c 0E94 0000 		call UART0_Send_Message_String
 3640 1520 2DB7      		in r18,__SP_L__
 3641 1522 3EB7      		in r19,__SP_H__
 3642 1524 225F      		subi r18,lo8(-(14))
 3643 1526 3F4F      		sbci r19,hi8(-(14))
 3644 1528 0FB6      		in __tmp_reg__,__SREG__
 3645 152a F894      		cli
 3646 152c 3EBF      		out __SP_H__,r19
 3647 152e 0FBE      		out __SREG__,__tmp_reg__
 3648 1530 2DBF      		out __SP_L__,r18
 3649 1532 00C0      		rjmp .L257
 3650               	.L309:
 3652               	.LM289:
 3653 1534 1F93      		push r17
 3654 1536 0F93      		push r16
 3655 1538 80E0      		ldi r24,lo8(.LC0)
 3656 153a 90E0      		ldi r25,hi8(.LC0)
 3657 153c 9F93      		push r25
 3658 153e 8F93      		push r24
 3659 1540 89E3      		ldi r24,lo8(825)
 3660 1542 93E0      		ldi r25,hi8(825)
 3661 1544 9F93      		push r25
 3662 1546 8F93      		push r24
 3663 1548 80E0      		ldi r24,lo8(__c.2870)
 3664 154a 90E0      		ldi r25,hi8(__c.2870)
 3665 154c 9F93      		push r25
 3666 154e 8F93      		push r24
 3667 1550 2EE7      		ldi r18,lo8(126)
 3668 1552 30E0      		ldi r19,hi8(126)
 3669 1554 3F93      		push r19
 3670 1556 2F93      		push r18
 3671 1558 80E0      		ldi r24,lo8(uart_message_string)
 3672 155a 90E0      		ldi r25,hi8(uart_message_string)
 3673 155c 9F93      		push r25
 3674 155e 8F93      		push r24
 3675 1560 0E94 0000 		call snprintf_P
 3677               	.LM290:
 3678 1564 60E0      		ldi r22,lo8(0)
 3679 1566 70E0      		ldi r23,hi8(0)
 3680 1568 80E0      		ldi r24,lo8(0)
 3681 156a 90E0      		ldi r25,hi8(0)
 3682 156c 0E94 0000 		call UART0_Send_Message_String
 3683 1570 2DB7      		in r18,__SP_L__
 3684 1572 3EB7      		in r19,__SP_H__
 3685 1574 245F      		subi r18,lo8(-(12))
 3686 1576 3F4F      		sbci r19,hi8(-(12))
 3687 1578 0FB6      		in __tmp_reg__,__SREG__
 3688 157a F894      		cli
 3689 157c 3EBF      		out __SP_H__,r19
 3690 157e 0FBE      		out __SREG__,__tmp_reg__
 3691 1580 2DBF      		out __SP_L__,r18
 3692 1582 00C0      		rjmp .L254
 3693               	.L314:
 3695               	.LM291:
 3696 1584 1F93      		push r17
 3697 1586 0F93      		push r16
 3698 1588 80E0      		ldi r24,lo8(.LC0)
 3699 158a 90E0      		ldi r25,hi8(.LC0)
 3700 158c 9F93      		push r25
 3701 158e 8F93      		push r24
 3702 1590 84E4      		ldi r24,lo8(836)
 3703 1592 93E0      		ldi r25,hi8(836)
 3704 1594 9F93      		push r25
 3705 1596 8F93      		push r24
 3706 1598 80E0      		ldi r24,lo8(__c.2872)
 3707 159a 90E0      		ldi r25,hi8(__c.2872)
 3708 159c 9F93      		push r25
 3709 159e 8F93      		push r24
 3710 15a0 2EE7      		ldi r18,lo8(126)
 3711 15a2 30E0      		ldi r19,hi8(126)
 3712 15a4 3F93      		push r19
 3713 15a6 2F93      		push r18
 3714 15a8 80E0      		ldi r24,lo8(uart_message_string)
 3715 15aa 90E0      		ldi r25,hi8(uart_message_string)
 3716 15ac 9F93      		push r25
 3717 15ae 8F93      		push r24
 3718 15b0 0E94 0000 		call snprintf_P
 3720               	.LM292:
 3721 15b4 60E0      		ldi r22,lo8(0)
 3722 15b6 70E0      		ldi r23,hi8(0)
 3723 15b8 80E0      		ldi r24,lo8(0)
 3724 15ba 90E0      		ldi r25,hi8(0)
 3725 15bc 0E94 0000 		call UART0_Send_Message_String
 3727               	.LM293:
 3728 15c0 20E0      		ldi r18,lo8(.LC0)
 3729 15c2 30E0      		ldi r19,hi8(.LC0)
 3730 15c4 3F93      		push r19
 3731 15c6 2F93      		push r18
 3732 15c8 87E4      		ldi r24,lo8(839)
 3733 15ca 93E0      		ldi r25,hi8(839)
 3734 15cc 9F93      		push r25
 3735 15ce 8F93      		push r24
 3736 15d0 80E0      		ldi r24,lo8(__c.2874)
 3737 15d2 90E0      		ldi r25,hi8(__c.2874)
 3738 15d4 9F93      		push r25
 3739 15d6 8F93      		push r24
 3740 15d8 8EE7      		ldi r24,lo8(126)
 3741 15da 90E0      		ldi r25,hi8(126)
 3742 15dc 9F93      		push r25
 3743 15de 8F93      		push r24
 3744 15e0 20E0      		ldi r18,lo8(uart_message_string)
 3745 15e2 30E0      		ldi r19,hi8(uart_message_string)
 3746 15e4 3F93      		push r19
 3747 15e6 2F93      		push r18
 3748 15e8 0E94 0000 		call snprintf_P
 3750               	.LM294:
 3751 15ec 60E0      		ldi r22,lo8(0)
 3752 15ee 70E0      		ldi r23,hi8(0)
 3753 15f0 80E0      		ldi r24,lo8(0)
 3754 15f2 90E0      		ldi r25,hi8(0)
 3755 15f4 0E94 0000 		call UART0_Send_Message_String
 3756 15f8 8DB7      		in r24,__SP_L__
 3757 15fa 9EB7      		in r25,__SP_H__
 3758 15fc 4696      		adiw r24,22
 3759 15fe 0FB6      		in __tmp_reg__,__SREG__
 3760 1600 F894      		cli
 3761 1602 9EBF      		out __SP_H__,r25
 3762 1604 0FBE      		out __SREG__,__tmp_reg__
 3763 1606 8DBF      		out __SP_L__,r24
 3764 1608 00C0      		rjmp .L267
 3765               	.L307:
 3766               	.LBE155:
 3768               	.LM295:
 3769 160a 80E0      		ldi r24,lo8(.LC0)
 3770 160c 90E0      		ldi r25,hi8(.LC0)
 3771 160e 9F93      		push r25
 3772 1610 8F93      		push r24
 3773 1612 86ED      		ldi r24,lo8(726)
 3774 1614 92E0      		ldi r25,hi8(726)
 3775 1616 9F93      		push r25
 3776 1618 8F93      		push r24
 3777 161a 80E0      		ldi r24,lo8(__c.2851)
 3778 161c 90E0      		ldi r25,hi8(__c.2851)
 3779 161e 9F93      		push r25
 3780 1620 8F93      		push r24
 3781 1622 8EE7      		ldi r24,lo8(126)
 3782 1624 90E0      		ldi r25,hi8(126)
 3783 1626 9F93      		push r25
 3784 1628 8F93      		push r24
 3785 162a 80E0      		ldi r24,lo8(uart_message_string)
 3786 162c 90E0      		ldi r25,hi8(uart_message_string)
 3787 162e 9F93      		push r25
 3788 1630 8F93      		push r24
 3789 1632 0E94 0000 		call snprintf_P
 3791               	.LM296:
 3792 1636 60E0      		ldi r22,lo8(0)
 3793 1638 70E0      		ldi r23,hi8(0)
 3794 163a 80E0      		ldi r24,lo8(0)
 3795 163c 90E0      		ldi r25,hi8(0)
 3796 163e 0E94 0000 		call UART0_Send_Message_String
 3797 1642 2DB7      		in r18,__SP_L__
 3798 1644 3EB7      		in r19,__SP_H__
 3799 1646 265F      		subi r18,lo8(-(10))
 3800 1648 3F4F      		sbci r19,hi8(-(10))
 3801 164a 0FB6      		in __tmp_reg__,__SREG__
 3802 164c F894      		cli
 3803 164e 3EBF      		out __SP_H__,r19
 3804 1650 0FBE      		out __SREG__,__tmp_reg__
 3805 1652 2DBF      		out __SP_L__,r18
 3806 1654 00C0      		rjmp .L237
 3807               	.L317:
 3808               	.LBB156:
 3810               	.LM297:
 3811 1656 20E0      		ldi r18,lo8(.LC0)
 3812 1658 30E0      		ldi r19,hi8(.LC0)
 3813 165a 3F93      		push r19
 3814 165c 2F93      		push r18
 3815 165e 88E5      		ldi r24,lo8(856)
 3816 1660 93E0      		ldi r25,hi8(856)
 3817 1662 9F93      		push r25
 3818 1664 8F93      		push r24
 3819 1666 80E0      		ldi r24,lo8(__c.2876)
 3820 1668 90E0      		ldi r25,hi8(__c.2876)
 3821 166a 9F93      		push r25
 3822 166c 8F93      		push r24
 3823 166e 8EE7      		ldi r24,lo8(126)
 3824 1670 90E0      		ldi r25,hi8(126)
 3825 1672 9F93      		push r25
 3826 1674 8F93      		push r24
 3827 1676 20E0      		ldi r18,lo8(uart_message_string)
 3828 1678 30E0      		ldi r19,hi8(uart_message_string)
 3829 167a 3F93      		push r19
 3830 167c 2F93      		push r18
 3831 167e 0E94 0000 		call snprintf_P
 3833               	.LM298:
 3834 1682 60E0      		ldi r22,lo8(0)
 3835 1684 70E0      		ldi r23,hi8(0)
 3836 1686 80E0      		ldi r24,lo8(0)
 3837 1688 90E0      		ldi r25,hi8(0)
 3838 168a 0E94 0000 		call UART0_Send_Message_String
 3839 168e 8DB7      		in r24,__SP_L__
 3840 1690 9EB7      		in r25,__SP_H__
 3841 1692 0A96      		adiw r24,10
 3842 1694 0FB6      		in __tmp_reg__,__SREG__
 3843 1696 F894      		cli
 3844 1698 9EBF      		out __SP_H__,r25
 3845 169a 0FBE      		out __SREG__,__tmp_reg__
 3846 169c 8DBF      		out __SP_L__,r24
 3847 169e 00C0      		rjmp .L273
 3848               	.L318:
 3850               	.LM299:
 3851 16a0 20E0      		ldi r18,lo8(.LC0)
 3852 16a2 30E0      		ldi r19,hi8(.LC0)
 3853 16a4 3F93      		push r19
 3854 16a6 2F93      		push r18
 3855 16a8 89E6      		ldi r24,lo8(873)
 3856 16aa 93E0      		ldi r25,hi8(873)
 3857 16ac 9F93      		push r25
 3858 16ae 8F93      		push r24
 3859 16b0 80E0      		ldi r24,lo8(__c.2878)
 3860 16b2 90E0      		ldi r25,hi8(__c.2878)
 3861 16b4 9F93      		push r25
 3862 16b6 8F93      		push r24
 3863 16b8 8EE7      		ldi r24,lo8(126)
 3864 16ba 90E0      		ldi r25,hi8(126)
 3865 16bc 9F93      		push r25
 3866 16be 8F93      		push r24
 3867 16c0 20E0      		ldi r18,lo8(uart_message_string)
 3868 16c2 30E0      		ldi r19,hi8(uart_message_string)
 3869 16c4 3F93      		push r19
 3870 16c6 2F93      		push r18
 3871 16c8 0E94 0000 		call snprintf_P
 3873               	.LM300:
 3874 16cc 60E0      		ldi r22,lo8(0)
 3875 16ce 70E0      		ldi r23,hi8(0)
 3876 16d0 80E0      		ldi r24,lo8(0)
 3877 16d2 90E0      		ldi r25,hi8(0)
 3878 16d4 0E94 0000 		call UART0_Send_Message_String
 3879 16d8 8DB7      		in r24,__SP_L__
 3880 16da 9EB7      		in r25,__SP_H__
 3881 16dc 0A96      		adiw r24,10
 3882 16de 0FB6      		in __tmp_reg__,__SREG__
 3883 16e0 F894      		cli
 3884 16e2 9EBF      		out __SP_H__,r25
 3885 16e4 0FBE      		out __SREG__,__tmp_reg__
 3886 16e6 8DBF      		out __SP_L__,r24
 3887 16e8 00C0      		rjmp .L279
 3888               	.L296:
 3890               	.LM301:
 3891 16ea C301      		movw r24,r6
 3892 16ec 68EE      		ldi r22,lo8(1000)
 3893 16ee 73E0      		ldi r23,hi8(1000)
 3894 16f0 0E94 0000 		call __udivmodhi4
 3895 16f4 00C0      		rjmp .L298
 3896               	.L316:
 3897               	.LBE156:
 3899               	.LM302:
 3900 16f6 1F92      		push __zero_reg__
 3901 16f8 1F92      		push __zero_reg__
 3902 16fa 1F93      		push r17
 3903 16fc 0F93      		push r16
 3904 16fe 80E0      		ldi r24,lo8(.LC0)
 3905 1700 90E0      		ldi r25,hi8(.LC0)
 3906 1702 9F93      		push r25
 3907 1704 8F93      		push r24
 3908 1706 85EF      		ldi r24,lo8(757)
 3909 1708 92E0      		ldi r25,hi8(757)
 3910 170a 9F93      		push r25
 3911 170c 8F93      		push r24
 3913               	.LM303:
 3914 170e 80E0      		ldi r24,lo8(__c.2862)
 3915 1710 90E0      		ldi r25,hi8(__c.2862)
 3916 1712 9F93      		push r25
 3917 1714 8F93      		push r24
 3918 1716 8EE7      		ldi r24,lo8(126)
 3919 1718 90E0      		ldi r25,hi8(126)
 3920 171a 9F93      		push r25
 3921 171c 8F93      		push r24
 3922 171e 80E0      		ldi r24,lo8(uart_message_string)
 3923 1720 90E0      		ldi r25,hi8(uart_message_string)
 3924 1722 9F93      		push r25
 3925 1724 8F93      		push r24
 3926 1726 0E94 0000 		call snprintf_P
 3928               	.LM304:
 3929 172a 60E0      		ldi r22,lo8(0)
 3930 172c 70E0      		ldi r23,hi8(0)
 3931 172e 80E0      		ldi r24,lo8(0)
 3932 1730 90E0      		ldi r25,hi8(0)
 3933 1732 0E94 0000 		call UART0_Send_Message_String
 3934 1736 80E0      		ldi r24,lo8(0)
 3935 1738 90E0      		ldi r25,hi8(0)
 3936 173a 2DB7      		in r18,__SP_L__
 3937 173c 3EB7      		in r19,__SP_H__
 3938 173e 225F      		subi r18,lo8(-(14))
 3939 1740 3F4F      		sbci r19,hi8(-(14))
 3940 1742 0FB6      		in __tmp_reg__,__SREG__
 3941 1744 F894      		cli
 3942 1746 3EBF      		out __SP_H__,r19
 3943 1748 0FBE      		out __SREG__,__tmp_reg__
 3944 174a 2DBF      		out __SP_L__,r18
 3945 174c 00C0      		rjmp .L246
 3946               	.L319:
 3948               	.LM305:
 3949 174e 8091 0000 		lds r24,owiTemperatureTimeoutMask
 3950 1752 9091 0000 		lds r25,(owiTemperatureTimeoutMask)+1
 3951 1756 9F93      		push r25
 3952 1758 8F93      		push r24
 3953 175a 8981      		ldd r24,Y+1
 3954 175c 9A81      		ldd r25,Y+2
 3955 175e 9F93      		push r25
 3956 1760 8F93      		push r24
 3957 1762 80E0      		ldi r24,lo8(.LC0)
 3958 1764 90E0      		ldi r25,hi8(.LC0)
 3959 1766 9F93      		push r25
 3960 1768 8F93      		push r24
 3961 176a 8DEA      		ldi r24,lo8(941)
 3962 176c 93E0      		ldi r25,hi8(941)
 3963 176e 9F93      		push r25
 3964 1770 8F93      		push r24
 3966               	.LM306:
 3967 1772 80E0      		ldi r24,lo8(__c.2889)
 3968 1774 90E0      		ldi r25,hi8(__c.2889)
 3969 1776 9F93      		push r25
 3970 1778 8F93      		push r24
 3971 177a 8EE7      		ldi r24,lo8(126)
 3972 177c 90E0      		ldi r25,hi8(126)
 3973 177e 9F93      		push r25
 3974 1780 8F93      		push r24
 3975 1782 80E0      		ldi r24,lo8(uart_message_string)
 3976 1784 90E0      		ldi r25,hi8(uart_message_string)
 3977 1786 9F93      		push r25
 3978 1788 8F93      		push r24
 3979 178a 0E94 0000 		call snprintf_P
 3981               	.LM307:
 3982 178e 60E0      		ldi r22,lo8(0)
 3983 1790 70E0      		ldi r23,hi8(0)
 3984 1792 80E0      		ldi r24,lo8(0)
 3985 1794 90E0      		ldi r25,hi8(0)
 3986 1796 0E94 0000 		call UART0_Send_Message_String
 3987 179a 8DB7      		in r24,__SP_L__
 3988 179c 9EB7      		in r25,__SP_H__
 3989 179e 0E96      		adiw r24,14
 3990 17a0 0FB6      		in __tmp_reg__,__SREG__
 3991 17a2 F894      		cli
 3992 17a4 9EBF      		out __SP_H__,r25
 3993 17a6 0FBE      		out __SREG__,__tmp_reg__
 3994 17a8 8DBF      		out __SP_L__,r24
 3995 17aa 00C0      		rjmp .L300
 3996               	.L315:
 3997               	.LBB157:
 3998               	.LBB158:
 4000               	.LM308:
 4001 17ac C301      		movw r24,r6
 4002 17ae 6AE0      		ldi r22,lo8(10)
 4003 17b0 70E0      		ldi r23,hi8(10)
 4004 17b2 0E94 0000 		call __udivmodhi4
 4005 17b6 8827      		clr r24
 4006 17b8 9927      		clr r25
 4007 17ba 6093 0000 		sts maxcount.2857,r22
 4008 17be 7093 0000 		sts (maxcount.2857)+1,r23
 4009 17c2 8093 0000 		sts (maxcount.2857)+2,r24
 4010 17c6 9093 0000 		sts (maxcount.2857)+3,r25
 4012               	.LM309:
 4013 17ca 6093 0000 		sts count.2856,r22
 4014 17ce 7093 0000 		sts (count.2856)+1,r23
 4015 17d2 8093 0000 		sts (count.2856)+2,r24
 4016 17d6 9093 0000 		sts (count.2856)+3,r25
 4018               	.LM310:
 4019 17da 1092 0000 		sts timeout_flag.2855,__zero_reg__
 4021               	.LM311:
 4022 17de 8091 0000 		lds r24,debug
 4023 17e2 8230      		cpi r24,lo8(2)
 4024 17e4 00F0      		brlo .L284
 4025 17e6 8091 0000 		lds r24,debugMask
 4026 17ea 9091 0000 		lds r25,(debugMask)+1
 4027 17ee A091 0000 		lds r26,(debugMask)+2
 4028 17f2 B091 0000 		lds r27,(debugMask)+3
 4029 17f6 69E0      		ldi r22,9
 4030 17f8 B695      	1:	lsr r27
 4031 17fa A795      		ror r26
 4032 17fc 9795      		ror r25
 4033 17fe 8795      		ror r24
 4034 1800 6A95      		dec r22
 4035 1802 01F4      		brne 1b
 4036 1804 80FD      		sbrc r24,0
 4037 1806 00C0      		rjmp .L320
 4038               	.L284:
 4040               	.LM312:
 4041 1808 692D      		mov r22,r9
 4042 180a 8CEC      		ldi r24,lo8(-52)
 4043 180c 0E94 0000 		call OWI_SendByte
 4045               	.LM313:
 4046 1810 692D      		mov r22,r9
 4047 1812 84E4      		ldi r24,lo8(68)
 4048 1814 0E94 0000 		call OWI_SendByte
 4049 1818 58EA      		ldi r21,lo8(25000)
 4050 181a C52E      		mov r12,r21
 4051 181c 51E6      		ldi r21,hi8(25000)
 4052 181e D52E      		mov r13,r21
 4053 1820 00C0      		rjmp .L287
 4054               	.L322:
 4056               	.LM314:
 4057 1822 20E0      		ldi r18,lo8(0)
 4058               	.L290:
 4059               	.LBB159:
 4060               	.LBB160:
 4061               	.LBB161:
 4062               	.LBB162:
 4064               	.Ltext24:
 4066               	.LM315:
 4067 1824 C601      		movw r24,r12
 4068               	/* #APP */
 4069 1826 0197      		1: sbiw r24,1
 4070 1828 01F4      		brne 1b
 4071               	/* #NOAPP */
 4072               	.LBE162:
 4073               	.LBE161:
 4074               	.LBE160:
 4075               	.LBE159:
 4077               	.Ltext25:
 4079               	.LM316:
 4080 182a E090 0000 		lds r14,count.2856
 4081 182e F090 0000 		lds r15,(count.2856)+1
 4082 1832 0091 0000 		lds r16,(count.2856)+2
 4083 1836 1091 0000 		lds r17,(count.2856)+3
 4084 183a 0894      		sec
 4085 183c E108      		sbc r14,__zero_reg__
 4086 183e F108      		sbc r15,__zero_reg__
 4087 1840 0109      		sbc r16,__zero_reg__
 4088 1842 1109      		sbc r17,__zero_reg__
 4089 1844 E092 0000 		sts count.2856,r14
 4090 1848 F092 0000 		sts (count.2856)+1,r15
 4091 184c 0093 0000 		sts (count.2856)+2,r16
 4092 1850 1093 0000 		sts (count.2856)+3,r17
 4093 1854 E114      		cp r14,__zero_reg__
 4094 1856 F104      		cpc r15,__zero_reg__
 4095 1858 0105      		cpc r16,__zero_reg__
 4096 185a 1105      		cpc r17,__zero_reg__
 4097 185c 01F0      		breq .L321
 4099               	.LM317:
 4100 185e 2223      		tst r18
 4101 1860 01F0      		breq .+2
 4102 1862 00C0      		rjmp .L293
 4103               	.L287:
 4105               	.LM318:
 4106 1864 8091 0000 		lds r24,owiTemperatureIgnoreConversionResponse
 4107 1868 8823      		tst r24
 4108 186a 01F4      		brne .L322
 4110               	.LM319:
 4111 186c 892D      		mov r24,r9
 4112 186e 0E94 0000 		call OWI_ReadBit
 4113 1872 282F      		mov r18,r24
 4114 1874 00C0      		rjmp .L290
 4115               	.L321:
 4117               	.LM320:
 4118 1876 8091 0000 		lds r24,owiTemperatureIgnoreConversionResponse
 4119 187a 8823      		tst r24
 4120 187c 01F0      		breq .+2
 4121 187e 00C0      		rjmp .L293
 4123               	.LM321:
 4124 1880 81E0      		ldi r24,lo8(1)
 4125 1882 8093 0000 		sts timeout_flag.2855,r24
 4126 1886 00C0      		rjmp .L293
 4127               	.L320:
 4129               	.LM322:
 4130 1888 20E0      		ldi r18,lo8(.LC0)
 4131 188a 30E0      		ldi r19,hi8(.LC0)
 4132 188c 3F93      		push r19
 4133 188e 2F93      		push r18
 4134 1890 8AE7      		ldi r24,lo8(890)
 4135 1892 93E0      		ldi r25,hi8(890)
 4136 1894 9F93      		push r25
 4137 1896 8F93      		push r24
 4138 1898 80E0      		ldi r24,lo8(__c.2880)
 4139 189a 90E0      		ldi r25,hi8(__c.2880)
 4140 189c 9F93      		push r25
 4141 189e 8F93      		push r24
 4142 18a0 8EE7      		ldi r24,lo8(126)
 4143 18a2 90E0      		ldi r25,hi8(126)
 4144 18a4 9F93      		push r25
 4145 18a6 8F93      		push r24
 4146 18a8 20E0      		ldi r18,lo8(uart_message_string)
 4147 18aa 30E0      		ldi r19,hi8(uart_message_string)
 4148 18ac 3F93      		push r19
 4149 18ae 2F93      		push r18
 4150 18b0 0E94 0000 		call snprintf_P
 4152               	.LM323:
 4153 18b4 60E0      		ldi r22,lo8(0)
 4154 18b6 70E0      		ldi r23,hi8(0)
 4155 18b8 80E0      		ldi r24,lo8(0)
 4156 18ba 90E0      		ldi r25,hi8(0)
 4157 18bc 0E94 0000 		call UART0_Send_Message_String
 4158 18c0 8DB7      		in r24,__SP_L__
 4159 18c2 9EB7      		in r25,__SP_H__
 4160 18c4 0A96      		adiw r24,10
 4161 18c6 0FB6      		in __tmp_reg__,__SREG__
 4162 18c8 F894      		cli
 4163 18ca 9EBF      		out __SP_H__,r25
 4164 18cc 0FBE      		out __SREG__,__tmp_reg__
 4165 18ce 8DBF      		out __SP_L__,r24
 4166 18d0 00C0      		rjmp .L284
 4167               	.L246:
 4168               	.LBE158:
 4169               	.LBE157:
 4170               	/* epilogue: frame size=6 */
 4171 18d2 2696      		adiw r28,6
 4172 18d4 0FB6      		in __tmp_reg__,__SREG__
 4173 18d6 F894      		cli
 4174 18d8 DEBF      		out __SP_H__,r29
 4175 18da 0FBE      		out __SREG__,__tmp_reg__
 4176 18dc CDBF      		out __SP_L__,r28
 4177 18de DF91      		pop r29
 4178 18e0 CF91      		pop r28
 4179 18e2 1F91      		pop r17
 4180 18e4 0F91      		pop r16
 4181 18e6 FF90      		pop r15
 4182 18e8 EF90      		pop r14
 4183 18ea DF90      		pop r13
 4184 18ec CF90      		pop r12
 4185 18ee BF90      		pop r11
 4186 18f0 AF90      		pop r10
 4187 18f2 9F90      		pop r9
 4188 18f4 8F90      		pop r8
 4189 18f6 7F90      		pop r7
 4190 18f8 6F90      		pop r6
 4191 18fa 5F90      		pop r5
 4192 18fc 4F90      		pop r4
 4193 18fe 3F90      		pop r3
 4194 1900 2F90      		pop r2
 4195 1902 0895      		ret
 4196               	/* epilogue end (size=25) */
 4197               	/* function owiTemperatureConversions size 1024 (973) */
 4216               	.Lscope12:
 4219               	.global	owiTemperatureMiscSubCommandConvertOnly
 4221               	owiTemperatureMiscSubCommandConvertOnly:
 4223               	.LM324:
 4224               	/* prologue: frame size=0 */
 4225 1904 0F93      		push r16
 4226 1906 1F93      		push r17
 4227 1908 CF93      		push r28
 4228 190a DF93      		push r29
 4229               	/* prologue end (size=4) */
 4230 190c EC01      		movw r28,r24
 4232               	.LM325:
 4233 190e 8B8D      		ldd r24,Y+27
 4234 1910 9927      		clr r25
 4235 1912 87FD      		sbrc r24,7
 4236 1914 9095      		com r25
 4237 1916 0197      		sbiw r24,1
 4238 1918 01F0      		breq .L325
 4240               	.LM326:
 4241 191a 0197      		sbiw r24,1
 4242 191c 01F4      		brne .+2
 4243 191e 00C0      		rjmp .L338
 4245               	.LM327:
 4246 1920 0FEF      		ldi r16,lo8(-1)
 4247 1922 1FEF      		ldi r17,hi8(-1)
 4248 1924 20E0      		ldi r18,lo8(__c.2743)
 4249 1926 30E0      		ldi r19,hi8(__c.2743)
 4250 1928 40E0      		ldi r20,lo8(0)
 4251 192a 6FEF      		ldi r22,lo8(-1)
 4252 192c 7FEF      		ldi r23,hi8(-1)
 4253 192e 81E0      		ldi r24,lo8(1)
 4254 1930 0E94 0000 		call CommunicationError
 4255 1934 00C0      		rjmp .L334
 4256               	.L325:
 4258               	.LM328:
 4259 1936 CE01      		movw r24,r28
 4260 1938 0E94 0000 		call owiTemperatureGetNumberOfDevicesAndSetTemperatureMask
 4261 193c 892B      		or r24,r25
 4262 193e 01F4      		brne .L339
 4264               	.LM329:
 4265 1940 00EA      		ldi r16,lo8(4000)
 4266 1942 1FE0      		ldi r17,hi8(4000)
 4267 1944 20E0      		ldi r18,lo8(__c.2732)
 4268 1946 30E0      		ldi r19,hi8(__c.2732)
 4269               	.L337:
 4271               	.LM330:
 4272 1948 41E0      		ldi r20,lo8(1)
 4273 194a 6FEF      		ldi r22,lo8(-1)
 4274 194c 7FEF      		ldi r23,hi8(-1)
 4275 194e 80E0      		ldi r24,lo8(0)
 4276 1950 0E94 0000 		call CommunicationError
 4277 1954 8093 0000 		sts general_errorCode,r24
 4278 1958 00C0      		rjmp .L334
 4279               	.L339:
 4281               	.LM331:
 4282 195a 40E0      		ldi r20,lo8(0)
 4283 195c 61E0      		ldi r22,lo8(1)
 4284 195e 80E0      		ldi r24,lo8(BUSES)
 4285 1960 90E0      		ldi r25,hi8(BUSES)
 4286 1962 0E94 0000 		call owiTemperatureConversions
 4287 1966 892B      		or r24,r25
 4288 1968 01F0      		breq .+2
 4289 196a 00C0      		rjmp .L334
 4291               	.LM332:
 4292 196c 4FE7      		ldi r20,lo8(127)
 4293 196e 50E0      		ldi r21,hi8(127)
 4294 1970 60E0      		ldi r22,lo8(uart_message_string)
 4295 1972 70E0      		ldi r23,hi8(uart_message_string)
 4296 1974 CE01      		movw r24,r28
 4297 1976 0E94 0000 		call createReceiveHeader
 4299               	.LM333:
 4300 197a 4EE7      		ldi r20,lo8(126)
 4301 197c 50E0      		ldi r21,hi8(126)
 4302 197e 60E0      		ldi r22,lo8(setParameter+25)
 4303 1980 70E0      		ldi r23,hi8(setParameter+25)
 4304 1982 80E0      		ldi r24,lo8(uart_message_string)
 4305 1984 90E0      		ldi r25,hi8(uart_message_string)
 4306 1986 0E94 0000 		call strncat
 4308               	.LM334:
 4309 198a 4EE7      		ldi r20,lo8(126)
 4310 198c 50E0      		ldi r21,hi8(126)
 4311 198e 60E0      		ldi r22,lo8(__c.2730)
 4312 1990 70E0      		ldi r23,hi8(__c.2730)
 4313               	.L336:
 4315               	.LM335:
 4316 1992 80E0      		ldi r24,lo8(uart_message_string)
 4317 1994 90E0      		ldi r25,hi8(uart_message_string)
 4318 1996 0E94 0000 		call strncat_P
 4320               	.LM336:
 4321 199a 6EE7      		ldi r22,lo8(126)
 4322 199c 70E0      		ldi r23,hi8(126)
 4323 199e 80E0      		ldi r24,lo8(uart_message_string)
 4324 19a0 90E0      		ldi r25,hi8(uart_message_string)
 4325 19a2 0E94 0000 		call UART0_Send_Message_String
 4327               	.LM337:
 4328 19a6 6FE7      		ldi r22,lo8(127)
 4329 19a8 70E0      		ldi r23,hi8(127)
 4330 19aa 80E0      		ldi r24,lo8(uart_message_string)
 4331 19ac 90E0      		ldi r25,hi8(uart_message_string)
 4332 19ae 0E94 0000 		call clearString
 4333 19b2 00C0      		rjmp .L334
 4334               	.L338:
 4336               	.LM338:
 4337 19b4 CE01      		movw r24,r28
 4338 19b6 0E94 0000 		call owiTemperatureGetNumberOfDevicesAndSetTemperatureMask
 4339 19ba 892B      		or r24,r25
 4340 19bc 01F0      		breq .L331
 4342               	.LM339:
 4343 19be 40E0      		ldi r20,lo8(0)
 4344 19c0 60E0      		ldi r22,lo8(0)
 4345 19c2 80E0      		ldi r24,lo8(BUSES)
 4346 19c4 90E0      		ldi r25,hi8(BUSES)
 4347 19c6 0E94 0000 		call owiTemperatureConversions
 4348 19ca 892B      		or r24,r25
 4349 19cc 01F4      		brne .L334
 4351               	.LM340:
 4352 19ce 4FE7      		ldi r20,lo8(127)
 4353 19d0 50E0      		ldi r21,hi8(127)
 4354 19d2 60E0      		ldi r22,lo8(uart_message_string)
 4355 19d4 70E0      		ldi r23,hi8(uart_message_string)
 4356 19d6 CE01      		movw r24,r28
 4357 19d8 0E94 0000 		call createReceiveHeader
 4359               	.LM341:
 4360 19dc 4EE7      		ldi r20,lo8(126)
 4361 19de 50E0      		ldi r21,hi8(126)
 4362 19e0 60E0      		ldi r22,lo8(setParameter+25)
 4363 19e2 70E0      		ldi r23,hi8(setParameter+25)
 4364 19e4 80E0      		ldi r24,lo8(uart_message_string)
 4365 19e6 90E0      		ldi r25,hi8(uart_message_string)
 4366 19e8 0E94 0000 		call strncat
 4368               	.LM342:
 4369 19ec 4EE7      		ldi r20,lo8(126)
 4370 19ee 50E0      		ldi r21,hi8(126)
 4371 19f0 60E0      		ldi r22,lo8(__c.2736)
 4372 19f2 70E0      		ldi r23,hi8(__c.2736)
 4373 19f4 80E0      		ldi r24,lo8(uart_message_string)
 4374 19f6 90E0      		ldi r25,hi8(uart_message_string)
 4375 19f8 0E94 0000 		call strncat_P
 4377               	.LM343:
 4378 19fc 4EE7      		ldi r20,lo8(126)
 4379 19fe 50E0      		ldi r21,hi8(126)
 4380 1a00 60E0      		ldi r22,lo8(setParameter+50)
 4381 1a02 70E0      		ldi r23,hi8(setParameter+50)
 4382 1a04 80E0      		ldi r24,lo8(uart_message_string)
 4383 1a06 90E0      		ldi r25,hi8(uart_message_string)
 4384 1a08 0E94 0000 		call strncat
 4386               	.LM344:
 4387 1a0c 4EE7      		ldi r20,lo8(126)
 4388 1a0e 50E0      		ldi r21,hi8(126)
 4389 1a10 60E0      		ldi r22,lo8(__c.2738)
 4390 1a12 70E0      		ldi r23,hi8(__c.2738)
 4391 1a14 00C0      		rjmp .L336
 4392               	.L331:
 4394               	.LM345:
 4395 1a16 00EA      		ldi r16,lo8(4000)
 4396 1a18 1FE0      		ldi r17,hi8(4000)
 4397 1a1a 20E0      		ldi r18,lo8(__c.2740)
 4398 1a1c 30E0      		ldi r19,hi8(__c.2740)
 4399 1a1e 00C0      		rjmp .L337
 4400               	.L334:
 4401               	/* epilogue: frame size=0 */
 4402 1a20 DF91      		pop r29
 4403 1a22 CF91      		pop r28
 4404 1a24 1F91      		pop r17
 4405 1a26 0F91      		pop r16
 4406 1a28 0895      		ret
 4407               	/* epilogue end (size=5) */
 4408               	/* function owiTemperatureMiscSubCommandConvertOnly size 149 (140) */
 4410               	.Lscope13:
 4414               	.global	owiTemperatureReadSensors
 4416               	owiTemperatureReadSensors:
 4418               	.LM346:
 4419               	/* prologue: frame size=2 */
 4420 1a2a CF92      		push r12
 4421 1a2c DF92      		push r13
 4422 1a2e FF92      		push r15
 4423 1a30 0F93      		push r16
 4424 1a32 1F93      		push r17
 4425 1a34 CF93      		push r28
 4426 1a36 DF93      		push r29
 4427 1a38 CDB7      		in r28,__SP_L__
 4428 1a3a DEB7      		in r29,__SP_H__
 4429 1a3c 2297      		sbiw r28,2
 4430 1a3e 0FB6      		in __tmp_reg__,__SREG__
 4431 1a40 F894      		cli
 4432 1a42 DEBF      		out __SP_H__,r29
 4433 1a44 0FBE      		out __SREG__,__tmp_reg__
 4434 1a46 CDBF      		out __SP_L__,r28
 4435               	/* prologue end (size=15) */
 4436 1a48 8C01      		movw r16,r24
 4437 1a4a F62E      		mov r15,r22
 4439               	.LM347:
 4440 1a4c 0E94 0000 		call owiTemperatureReadSensorsCheckCommandSyntax
 4441 1a50 8823      		tst r24
 4442 1a52 01F0      		breq .+2
 4443 1a54 00C0      		rjmp .L360
 4445               	.LM348:
 4446 1a56 C801      		movw r24,r16
 4447 1a58 0E94 0000 		call owiTemperatureGetNumberOfDevicesAndSetTemperatureMask
 4448 1a5c 892B      		or r24,r25
 4449 1a5e 01F4      		brne .+2
 4450 1a60 00C0      		rjmp .L343
 4451               	.LBB163:
 4453               	.LM349:
 4454 1a62 F801      		movw r30,r16
 4455 1a64 838D      		ldd r24,Z+27
 4456 1a66 8823      		tst r24
 4457 1a68 01F4      		brne .+2
 4458 1a6a 00C0      		rjmp .L346
 4459 1a6c 8230      		cpi r24,lo8(2)
 4460 1a6e 01F4      		brne .+2
 4461 1a70 00C0      		rjmp .L367
 4462               	.L345:
 4464               	.LM350:
 4465 1a72 88E2      		ldi r24,lo8(40)
 4466 1a74 8983      		std Y+1,r24
 4467 1a76 80E1      		ldi r24,lo8(16)
 4468 1a78 8A83      		std Y+2,r24
 4469 1a7a FF24      		clr r15
 4470 1a7c 8E01      		movw r16,r28
 4471 1a7e 0F5F      		subi r16,lo8(-(1))
 4472 1a80 1F4F      		sbci r17,hi8(-(1))
 4473 1a82 6801      		movw r12,r16
 4474               	.L351:
 4475               	.LBB164:
 4477               	.LM351:
 4478 1a84 8091 0000 		lds r24,debug
 4479 1a88 8230      		cpi r24,lo8(2)
 4480 1a8a 00F0      		brlo .L354
 4481 1a8c 8091 0000 		lds r24,debugMask
 4482 1a90 9091 0000 		lds r25,(debugMask)+1
 4483 1a94 A091 0000 		lds r26,(debugMask)+2
 4484 1a98 B091 0000 		lds r27,(debugMask)+3
 4485 1a9c 6CE0      		ldi r22,12
 4486 1a9e B695      	1:	lsr r27
 4487 1aa0 A795      		ror r26
 4488 1aa2 9795      		ror r25
 4489 1aa4 8795      		ror r24
 4490 1aa6 6A95      		dec r22
 4491 1aa8 01F4      		brne 1b
 4492 1aaa 80FD      		sbrc r24,0
 4493 1aac 00C0      		rjmp .L368
 4494               	.L354:
 4496               	.LM352:
 4497 1aae 20E0      		ldi r18,lo8(0)
 4498 1ab0 30E0      		ldi r19,hi8(0)
 4499 1ab2 F801      		movw r30,r16
 4500 1ab4 4191      		ld r20,Z+
 4501 1ab6 8F01      		movw r16,r30
 4502 1ab8 6091 0000 		lds r22,NumDevicesFound
 4503 1abc 80E0      		ldi r24,lo8(BUSES)
 4504 1abe 90E0      		ldi r25,hi8(BUSES)
 4505 1ac0 0E94 0000 		call owiFindFamilyDevicesAndAccessValues
 4506 1ac4 F80E      		add r15,r24
 4508               	.LM353:
 4509 1ac6 C601      		movw r24,r12
 4510 1ac8 0296      		adiw r24,2
 4511 1aca 0817      		cp r16,r24
 4512 1acc 1907      		cpc r17,r25
 4513 1ace 01F4      		brne .L351
 4514               	.LBE164:
 4516               	.LM354:
 4517 1ad0 E091 0000 		lds r30,ptr_owiStruct
 4518 1ad4 F091 0000 		lds r31,(ptr_owiStruct)+1
 4519 1ad8 8085      		ldd r24,Z+8
 4520 1ada 8130      		cpi r24,lo8(1)
 4521 1adc 01F0      		breq .+2
 4522 1ade 00C0      		rjmp .L360
 4523 1ae0 FF20      		tst r15
 4524 1ae2 01F0      		breq .+2
 4525 1ae4 00C0      		rjmp .L360
 4527               	.LM355:
 4528 1ae6 00EA      		ldi r16,lo8(4000)
 4529 1ae8 1FE0      		ldi r17,hi8(4000)
 4530 1aea 20E0      		ldi r18,lo8(__c.2521)
 4531 1aec 30E0      		ldi r19,hi8(__c.2521)
 4532               	.L366:
 4533               	.LBE163:
 4535               	.LM356:
 4536 1aee 41E0      		ldi r20,lo8(1)
 4537 1af0 6FEF      		ldi r22,lo8(-1)
 4538 1af2 7FEF      		ldi r23,hi8(-1)
 4539 1af4 80E0      		ldi r24,lo8(0)
 4540 1af6 0E94 0000 		call CommunicationError
 4541 1afa 8093 0000 		sts general_errorCode,r24
 4542 1afe 00C0      		rjmp .L360
 4543               	.L346:
 4544               	.LBB165:
 4546               	.LM357:
 4547 1b00 FF20      		tst r15
 4548 1b02 01F4      		brne .+2
 4549 1b04 00C0      		rjmp .L345
 4550               	.L365:
 4552               	.LM358:
 4553 1b06 40E0      		ldi r20,lo8(0)
 4554 1b08 61E0      		ldi r22,lo8(1)
 4555 1b0a 80E0      		ldi r24,lo8(BUSES)
 4556 1b0c 90E0      		ldi r25,hi8(BUSES)
 4557 1b0e 0E94 0000 		call owiTemperatureConversions
 4558 1b12 00C0      		rjmp .L345
 4559               	.L368:
 4560               	.LBB166:
 4562               	.LM359:
 4563 1b14 F801      		movw r30,r16
 4564 1b16 8081      		ld r24,Z
 4565 1b18 9927      		clr r25
 4566 1b1a 87FD      		sbrc r24,7
 4567 1b1c 9095      		com r25
 4568 1b1e 9F93      		push r25
 4569 1b20 8F93      		push r24
 4570 1b22 80E0      		ldi r24,lo8(.LC0)
 4571 1b24 90E0      		ldi r25,hi8(.LC0)
 4572 1b26 9F93      		push r25
 4573 1b28 8F93      		push r24
 4574 1b2a 82EB      		ldi r24,lo8(178)
 4575 1b2c 90E0      		ldi r25,hi8(178)
 4576 1b2e 9F93      		push r25
 4577 1b30 8F93      		push r24
 4579               	.LM360:
 4580 1b32 80E0      		ldi r24,lo8(__c.2516)
 4581 1b34 90E0      		ldi r25,hi8(__c.2516)
 4582 1b36 9F93      		push r25
 4583 1b38 8F93      		push r24
 4584 1b3a 8EE7      		ldi r24,lo8(126)
 4585 1b3c 90E0      		ldi r25,hi8(126)
 4586 1b3e 9F93      		push r25
 4587 1b40 8F93      		push r24
 4588 1b42 80E0      		ldi r24,lo8(uart_message_string)
 4589 1b44 90E0      		ldi r25,hi8(uart_message_string)
 4590 1b46 9F93      		push r25
 4591 1b48 8F93      		push r24
 4592 1b4a 0E94 0000 		call snprintf_P
 4594               	.LM361:
 4595 1b4e 60E0      		ldi r22,lo8(0)
 4596 1b50 70E0      		ldi r23,hi8(0)
 4597 1b52 80E0      		ldi r24,lo8(0)
 4598 1b54 90E0      		ldi r25,hi8(0)
 4599 1b56 0E94 0000 		call UART0_Send_Message_String
 4600 1b5a 8DB7      		in r24,__SP_L__
 4601 1b5c 9EB7      		in r25,__SP_H__
 4602 1b5e 0C96      		adiw r24,12
 4603 1b60 0FB6      		in __tmp_reg__,__SREG__
 4604 1b62 F894      		cli
 4605 1b64 9EBF      		out __SP_H__,r25
 4606 1b66 0FBE      		out __SREG__,__tmp_reg__
 4607 1b68 8DBF      		out __SP_L__,r24
 4608 1b6a 00C0      		rjmp .L354
 4609               	.L343:
 4610               	.LBE166:
 4611               	.LBE165:
 4613               	.LM362:
 4614 1b6c 00EA      		ldi r16,lo8(4000)
 4615 1b6e 1FE0      		ldi r17,hi8(4000)
 4616 1b70 20E0      		ldi r18,lo8(__c.2523)
 4617 1b72 30E0      		ldi r19,hi8(__c.2523)
 4618 1b74 00C0      		rjmp .L366
 4619               	.L367:
 4620               	.LBB167:
 4622               	.LM363:
 4623 1b76 E091 0000 		lds r30,ptr_owiStruct
 4624 1b7a F091 0000 		lds r31,(ptr_owiStruct)+1
 4625 1b7e 20E0      		ldi r18,lo8(0)
 4626 1b80 8385      		ldd r24,Z+11
 4627 1b82 9485      		ldd r25,Z+12
 4628 1b84 892B      		or r24,r25
 4629 1b86 01F0      		breq .L349
 4630 1b88 21E0      		ldi r18,lo8(1)
 4631               	.L349:
 4632 1b8a 2587      		std Z+13,r18
 4634               	.LM364:
 4635 1b8c E091 0000 		lds r30,ptr_owiStruct
 4636 1b90 F091 0000 		lds r31,(ptr_owiStruct)+1
 4637 1b94 8585      		ldd r24,Z+13
 4638 1b96 8130      		cpi r24,lo8(1)
 4639 1b98 01F0      		breq .+2
 4640 1b9a 00C0      		rjmp .L345
 4641 1b9c 00C0      		rjmp .L365
 4642               	.L360:
 4643               	.LBE167:
 4644               	/* epilogue: frame size=2 */
 4645 1b9e 2296      		adiw r28,2
 4646 1ba0 0FB6      		in __tmp_reg__,__SREG__
 4647 1ba2 F894      		cli
 4648 1ba4 DEBF      		out __SP_H__,r29
 4649 1ba6 0FBE      		out __SREG__,__tmp_reg__
 4650 1ba8 CDBF      		out __SP_L__,r28
 4651 1baa DF91      		pop r29
 4652 1bac CF91      		pop r28
 4653 1bae 1F91      		pop r17
 4654 1bb0 0F91      		pop r16
 4655 1bb2 FF90      		pop r15
 4656 1bb4 DF90      		pop r13
 4657 1bb6 CF90      		pop r12
 4658 1bb8 0895      		ret
 4659               	/* epilogue end (size=14) */
 4660               	/* function owiTemperatureReadSensors size 200 (171) */
 4674               	.Lscope14:
 4677               	.global	owiTemperatureMiscSubCommands
 4679               	owiTemperatureMiscSubCommands:
 4681               	.LM365:
 4682               	/* prologue: frame size=0 */
 4683 1bba 6F92      		push r6
 4684 1bbc 7F92      		push r7
 4685 1bbe 8F92      		push r8
 4686 1bc0 9F92      		push r9
 4687 1bc2 AF92      		push r10
 4688 1bc4 BF92      		push r11
 4689 1bc6 CF92      		push r12
 4690 1bc8 DF92      		push r13
 4691 1bca EF92      		push r14
 4692 1bcc FF92      		push r15
 4693 1bce 0F93      		push r16
 4694 1bd0 1F93      		push r17
 4695 1bd2 CF93      		push r28
 4696 1bd4 DF93      		push r29
 4697               	/* prologue end (size=14) */
 4698 1bd6 6C01      		movw r12,r24
 4699 1bd8 C0E0      		ldi r28,lo8(owiTemperatureCommandKeywords)
 4700 1bda D0E0      		ldi r29,hi8(owiTemperatureCommandKeywords)
 4701 1bdc EE24      		clr r14
 4702 1bde FF24      		clr r15
 4703 1be0 B0E0      		ldi r27,lo8(.LC0)
 4704 1be2 AB2E      		mov r10,r27
 4705 1be4 B0E0      		ldi r27,hi8(.LC0)
 4706 1be6 BB2E      		mov r11,r27
 4707 1be8 AEE7      		ldi r26,lo8(126)
 4708 1bea 8A2E      		mov r8,r26
 4709 1bec 912C      		mov r9,__zero_reg__
 4710 1bee F0E0      		ldi r31,lo8(uart_message_string)
 4711 1bf0 6F2E      		mov r6,r31
 4712 1bf2 F0E0      		ldi r31,hi8(uart_message_string)
 4713 1bf4 7F2E      		mov r7,r31
 4714 1bf6 00C0      		rjmp .L370
 4715               	.L376:
 4717               	.LM366:
 4718 1bf8 0894      		sec
 4719 1bfa E11C      		adc r14,__zero_reg__
 4720 1bfc F11C      		adc r15,__zero_reg__
 4721 1bfe 2296      		adiw r28,2
 4723               	.LM367:
 4724 1c00 F7E0      		ldi r31,lo8(7)
 4725 1c02 EF16      		cp r14,r31
 4726 1c04 F104      		cpc r15,__zero_reg__
 4727 1c06 01F4      		brne .+2
 4728 1c08 00C0      		rjmp .L379
 4729               	.L370:
 4730               	.LBB168:
 4732               	.LM368:
 4733 1c0a FE01      		movw r30,r28
 4734               	/* #APP */
 4735 1c0c C895      		lpm
 4736 1c0e 602D      		mov r22, r0
 4737 1c10 3196      		adiw r30, 1
 4738 1c12 C895      		lpm
 4739 1c14 702D      		mov r23, r0
 4740               		
 4741               	/* #NOAPP */
 4742               	.LBE168:
 4743 1c16 0091 0000 		lds r16,ptr_owiStruct
 4744 1c1a 1091 0000 		lds r17,(ptr_owiStruct)+1
 4745 1c1e 015F      		subi r16,lo8(-(15))
 4746 1c20 1F4F      		sbci r17,hi8(-(15))
 4747 1c22 49E1      		ldi r20,lo8(25)
 4748 1c24 50E0      		ldi r21,hi8(25)
 4749 1c26 C801      		movw r24,r16
 4750 1c28 0E94 0000 		call strncmp_P
 4751 1c2c 892B      		or r24,r25
 4752 1c2e 01F4      		brne .+2
 4753 1c30 00C0      		rjmp .L392
 4755               	.LM369:
 4756 1c32 8091 0000 		lds r24,debug
 4757 1c36 8330      		cpi r24,lo8(3)
 4758 1c38 00F0      		brlo .L376
 4759 1c3a 8091 0000 		lds r24,debugMask
 4760 1c3e 9091 0000 		lds r25,(debugMask)+1
 4761 1c42 A091 0000 		lds r26,(debugMask)+2
 4762 1c46 B091 0000 		lds r27,(debugMask)+3
 4763 1c4a 79E0      		ldi r23,9
 4764 1c4c B695      	1:	lsr r27
 4765 1c4e A795      		ror r26
 4766 1c50 9795      		ror r25
 4767 1c52 8795      		ror r24
 4768 1c54 7A95      		dec r23
 4769 1c56 01F4      		brne 1b
 4770 1c58 80FF      		sbrs r24,0
 4771 1c5a 00C0      		rjmp .L376
 4773               	.LM370:
 4774 1c5c 80E0      		ldi r24,lo8(setParameter+25)
 4775 1c5e 90E0      		ldi r25,hi8(setParameter+25)
 4776 1c60 9F93      		push r25
 4777 1c62 8F93      		push r24
 4778 1c64 BF92      		push r11
 4779 1c66 AF92      		push r10
 4780 1c68 85E3      		ldi r24,lo8(565)
 4781 1c6a 92E0      		ldi r25,hi8(565)
 4782 1c6c 9F93      		push r25
 4783 1c6e 8F93      		push r24
 4784 1c70 80E0      		ldi r24,lo8(__c.2768)
 4785 1c72 90E0      		ldi r25,hi8(__c.2768)
 4786 1c74 9F93      		push r25
 4787 1c76 8F93      		push r24
 4788 1c78 9F92      		push r9
 4789 1c7a 8F92      		push r8
 4790 1c7c 7F92      		push r7
 4791 1c7e 6F92      		push r6
 4792 1c80 0E94 0000 		call snprintf_P
 4794               	.LM371:
 4795 1c84 60E0      		ldi r22,lo8(0)
 4796 1c86 70E0      		ldi r23,hi8(0)
 4797 1c88 80E0      		ldi r24,lo8(0)
 4798 1c8a 90E0      		ldi r25,hi8(0)
 4799 1c8c 0E94 0000 		call UART0_Send_Message_String
 4800 1c90 EDB7      		in r30,__SP_L__
 4801 1c92 FEB7      		in r31,__SP_H__
 4802 1c94 3C96      		adiw r30,12
 4803 1c96 0FB6      		in __tmp_reg__,__SREG__
 4804 1c98 F894      		cli
 4805 1c9a FEBF      		out __SP_H__,r31
 4806 1c9c 0FBE      		out __SREG__,__tmp_reg__
 4807 1c9e EDBF      		out __SP_L__,r30
 4809               	.LM372:
 4810 1ca0 0894      		sec
 4811 1ca2 E11C      		adc r14,__zero_reg__
 4812 1ca4 F11C      		adc r15,__zero_reg__
 4813 1ca6 2296      		adiw r28,2
 4815               	.LM373:
 4816 1ca8 F7E0      		ldi r31,lo8(7)
 4817 1caa EF16      		cp r14,r31
 4818 1cac F104      		cpc r15,__zero_reg__
 4819 1cae 01F0      		breq .+2
 4820 1cb0 00C0      		rjmp .L370
 4821               	.L379:
 4823               	.LM374:
 4824 1cb2 0FEF      		ldi r16,lo8(-1)
 4825 1cb4 1FEF      		ldi r17,hi8(-1)
 4826 1cb6 20E0      		ldi r18,lo8(__c.2783)
 4827 1cb8 30E0      		ldi r19,hi8(__c.2783)
 4828 1cba 40E0      		ldi r20,lo8(0)
 4829 1cbc 6FEF      		ldi r22,lo8(-1)
 4830 1cbe 7FEF      		ldi r23,hi8(-1)
 4831 1cc0 81E0      		ldi r24,lo8(1)
 4832 1cc2 0E94 0000 		call CommunicationError
 4833 1cc6 00C0      		rjmp .L389
 4834               	.L392:
 4836               	.LM375:
 4837 1cc8 8091 0000 		lds r24,debug
 4838 1ccc 8230      		cpi r24,lo8(2)
 4839 1cce 00F0      		brlo .L373
 4840 1cd0 8091 0000 		lds r24,debugMask
 4841 1cd4 9091 0000 		lds r25,(debugMask)+1
 4842 1cd8 A091 0000 		lds r26,(debugMask)+2
 4843 1cdc B091 0000 		lds r27,(debugMask)+3
 4844 1ce0 E9E0      		ldi r30,9
 4845 1ce2 B695      	1:	lsr r27
 4846 1ce4 A795      		ror r26
 4847 1ce6 9795      		ror r25
 4848 1ce8 8795      		ror r24
 4849 1cea EA95      		dec r30
 4850 1cec 01F4      		brne 1b
 4851 1cee 80FD      		sbrc r24,0
 4852 1cf0 00C0      		rjmp .L393
 4853               	.L373:
 4855               	.LM376:
 4856 1cf2 83E0      		ldi r24,lo8(3)
 4857 1cf4 E816      		cp r14,r24
 4858 1cf6 F104      		cpc r15,__zero_reg__
 4859 1cf8 01F0      		breq .L383
 4860 1cfa 94E0      		ldi r25,lo8(4)
 4861 1cfc E916      		cp r14,r25
 4862 1cfe F104      		cpc r15,__zero_reg__
 4863 1d00 00F4      		brsh .L387
 4864 1d02 E1E0      		ldi r30,lo8(1)
 4865 1d04 EE16      		cp r14,r30
 4866 1d06 F104      		cpc r15,__zero_reg__
 4867 1d08 01F4      		brne .+2
 4868 1d0a 00C0      		rjmp .L381
 4869 1d0c F2E0      		ldi r31,lo8(2)
 4870 1d0e EF16      		cp r14,r31
 4871 1d10 F104      		cpc r15,__zero_reg__
 4872 1d12 00F4      		brsh .+2
 4873 1d14 00C0      		rjmp .L394
 4875               	.LM377:
 4876 1d16 20E0      		ldi r18,lo8(0)
 4877 1d18 40E0      		ldi r20,lo8(__c.2776)
 4878 1d1a 50E0      		ldi r21,hi8(__c.2776)
 4879 1d1c 60E0      		ldi r22,lo8(owiTemperatureIgnoreConversionResponse)
 4880 1d1e 70E0      		ldi r23,hi8(owiTemperatureIgnoreConversionResponse)
 4881 1d20 C601      		movw r24,r12
 4882 1d22 0E94 0000 		call owiTemperatureMiscSubCommandGetSetFlag
 4883 1d26 00C0      		rjmp .L389
 4884               	.L383:
 4886               	.LM378:
 4887 1d28 C601      		movw r24,r12
 4888 1d2a 0E94 0000 		call owiTemperatureMiscSubCommandGetSetMaxConversionTime
 4889 1d2e 00C0      		rjmp .L389
 4890               	.L393:
 4892               	.LM379:
 4893 1d30 1F93      		push r17
 4894 1d32 0F93      		push r16
 4895 1d34 BF92      		push r11
 4896 1d36 AF92      		push r10
 4897 1d38 8BE2      		ldi r24,lo8(555)
 4898 1d3a 92E0      		ldi r25,hi8(555)
 4899 1d3c 9F93      		push r25
 4900 1d3e 8F93      		push r24
 4901 1d40 80E0      		ldi r24,lo8(__c.2765)
 4902 1d42 90E0      		ldi r25,hi8(__c.2765)
 4903 1d44 9F93      		push r25
 4904 1d46 8F93      		push r24
 4905 1d48 9F92      		push r9
 4906 1d4a 8F92      		push r8
 4907 1d4c 7F92      		push r7
 4908 1d4e 6F92      		push r6
 4909 1d50 0E94 0000 		call snprintf_P
 4911               	.LM380:
 4912 1d54 60E0      		ldi r22,lo8(0)
 4913 1d56 70E0      		ldi r23,hi8(0)
 4914 1d58 80E0      		ldi r24,lo8(0)
 4915 1d5a 90E0      		ldi r25,hi8(0)
 4916 1d5c 0E94 0000 		call UART0_Send_Message_String
 4917 1d60 8DB7      		in r24,__SP_L__
 4918 1d62 9EB7      		in r25,__SP_H__
 4919 1d64 0C96      		adiw r24,12
 4920 1d66 0FB6      		in __tmp_reg__,__SREG__
 4921 1d68 F894      		cli
 4922 1d6a 9EBF      		out __SP_H__,r25
 4923 1d6c 0FBE      		out __SREG__,__tmp_reg__
 4924 1d6e 8DBF      		out __SP_L__,r24
 4925 1d70 00C0      		rjmp .L373
 4926               	.L387:
 4928               	.LM381:
 4929 1d72 85E0      		ldi r24,lo8(5)
 4930 1d74 E816      		cp r14,r24
 4931 1d76 F104      		cpc r15,__zero_reg__
 4932 1d78 01F0      		breq .L385
 4933 1d7a 95E0      		ldi r25,lo8(5)
 4934 1d7c E916      		cp r14,r25
 4935 1d7e F104      		cpc r15,__zero_reg__
 4936 1d80 00F0      		brlo .L384
 4937 1d82 E6E0      		ldi r30,lo8(6)
 4938 1d84 EE16      		cp r14,r30
 4939 1d86 F104      		cpc r15,__zero_reg__
 4940 1d88 01F0      		breq .+2
 4941 1d8a 00C0      		rjmp .L379
 4943               	.LM382:
 4944 1d8c C601      		movw r24,r12
 4945 1d8e 0E94 0000 		call owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion
 4946 1d92 00C0      		rjmp .L389
 4947               	.L384:
 4949               	.LM383:
 4950 1d94 C601      		movw r24,r12
 4951 1d96 0E94 0000 		call owiTemperatureMiscSubCommandGetSetForceParasiticMode
 4952 1d9a 00C0      		rjmp .L389
 4953               	.L394:
 4955               	.LM384:
 4956 1d9c C601      		movw r24,r12
 4957 1d9e 0E94 0000 		call owiTemperatureMiscSubCommandConvertOnly
 4958 1da2 00C0      		rjmp .L389
 4959               	.L385:
 4961               	.LM385:
 4962 1da4 C601      		movw r24,r12
 4963 1da6 0E94 0000 		call owiTemperatureMiscSubCommandGetSetResolution_DS18B20
 4964 1daa 00C0      		rjmp .L389
 4965               	.L381:
 4967               	.LM386:
 4968 1dac F601      		movw r30,r12
 4969 1dae 138E      		std Z+27,__zero_reg__
 4971               	.LM387:
 4972 1db0 69E1      		ldi r22,lo8(25)
 4973 1db2 70E0      		ldi r23,hi8(25)
 4974 1db4 80E0      		ldi r24,lo8(setParameter+25)
 4975 1db6 90E0      		ldi r25,hi8(setParameter+25)
 4976 1db8 0E94 0000 		call clearString
 4978               	.LM388:
 4979 1dbc 60E0      		ldi r22,lo8(0)
 4980 1dbe C601      		movw r24,r12
 4981 1dc0 0E94 0000 		call owiTemperatureReadSensors
 4982               	.L389:
 4983               	/* epilogue: frame size=0 */
 4984 1dc4 DF91      		pop r29
 4985 1dc6 CF91      		pop r28
 4986 1dc8 1F91      		pop r17
 4987 1dca 0F91      		pop r16
 4988 1dcc FF90      		pop r15
 4989 1dce EF90      		pop r14
 4990 1dd0 DF90      		pop r13
 4991 1dd2 CF90      		pop r12
 4992 1dd4 BF90      		pop r11
 4993 1dd6 AF90      		pop r10
 4994 1dd8 9F90      		pop r9
 4995 1dda 8F90      		pop r8
 4996 1ddc 7F90      		pop r7
 4997 1dde 6F90      		pop r6
 4998 1de0 0895      		ret
 4999               	/* epilogue end (size=15) */
 5000               	/* function owiTemperatureMiscSubCommands size 283 (254) */
 5009               	.Lscope15:
 5012               	.global	owiTemperatureSensors
 5014               	owiTemperatureSensors:
 5016               	.LM389:
 5017               	/* prologue: frame size=0 */
 5018               	/* prologue end (size=0) */
 5019 1de2 9C01      		movw r18,r24
 5021               	.LM390:
 5022 1de4 E091 0000 		lds r30,ptr_owiStruct
 5023 1de8 F091 0000 		lds r31,(ptr_owiStruct)+1
 5024 1dec 8785      		ldd r24,Z+15
 5025 1dee 8823      		tst r24
 5026 1df0 01F4      		brne .L396
 5028               	.LM391:
 5029 1df2 61E0      		ldi r22,lo8(1)
 5030 1df4 C901      		movw r24,r18
 5031 1df6 0E94 0000 		call owiTemperatureReadSensors
 5032 1dfa 0895      		ret
 5033               	.L396:
 5035               	.LM392:
 5036 1dfc C901      		movw r24,r18
 5037 1dfe 0E94 0000 		call owiTemperatureMiscSubCommands
 5038 1e02 0895      		ret
 5039               	/* epilogue: frame size=0 */
 5040               	/* epilogue: noreturn */
 5041               	/* epilogue end (size=0) */
 5042               	/* function owiTemperatureSensors size 17 (17) */
 5044               	.Lscope16:
 5045               	.global	owiTemperatureMask
 5046               	.global	owiTemperatureMask
 5047               		.section .bss
 5050               	owiTemperatureMask:
 5051 0000 0000      		.skip 2,0
 5052               	.global	owiTemperatureMask_DS18B20
 5053               	.global	owiTemperatureMask_DS18B20
 5056               	owiTemperatureMask_DS18B20:
 5057 0002 0000      		.skip 2,0
 5058               	.global	p_owiTemperatureMask_DS18B20
 5059               		.data
 5062               	p_owiTemperatureMask_DS18B20:
 5063 0020 0000      		.word	owiTemperatureMask_DS18B20
 5064               	.global	owiTemperatureMask_DS18S20
 5065               	.global	owiTemperatureMask_DS18S20
 5066               		.section .bss
 5069               	owiTemperatureMask_DS18S20:
 5070 0004 0000      		.skip 2,0
 5071               	.global	p_owiTemperatureMask_DS18S20
 5072               		.data
 5075               	p_owiTemperatureMask_DS18S20:
 5076 0022 0000      		.word	owiTemperatureMask_DS18S20
 5077               	.global	owiTemperatureTimeoutMask
 5080               	owiTemperatureTimeoutMask:
 5081 0024 FFFF      		.word	-1
 5082               	.global	owiUseCommonTemperatureConversion_flag
 5085               	owiUseCommonTemperatureConversion_flag:
 5086 0026 01        		.byte	1
 5087               	.global	owiTemperatureConversionGoingOnCountDown
 5088               	.global	owiTemperatureConversionGoingOnCountDown
 5089               		.section .bss
 5092               	owiTemperatureConversionGoingOnCountDown:
 5093 0006 00        		.skip 1,0
 5094               	.global	owiTemperatureIgnoreConversionResponse
 5095               		.data
 5098               	owiTemperatureIgnoreConversionResponse:
 5099 0027 01        		.byte	1
 5100               	.global	owiTemperatureMaxConversionTime
 5103               	owiTemperatureMaxConversionTime:
 5104 0028 EE02      		.word	750
 5105               	.global	owiTemperatureForceParasiticMode
 5106               	.global	owiTemperatureForceParasiticMode
 5107               		.section .bss
 5110               	owiTemperatureForceParasiticMode:
 5111 0007 00        		.skip 1,0
 5112               	.global	owiTemperatureParasiticModeMask
 5113               		.data
 5116               	owiTemperatureParasiticModeMask:
 5117 002a FF        		.byte	-1
 5118               	.global	owiTemperatureResolution_DS18B20
 5121               	owiTemperatureResolution_DS18B20:
 5122 002b 0C        		.byte	12
 5123               	.global	owiTemperatureSensorBySensorParasiticConversionFlag
 5124               	.global	owiTemperatureSensorBySensorParasiticConversionFlag
 5125               		.section .bss
 5128               	owiTemperatureSensorBySensorParasiticConversionFlag:
 5129 0008 00        		.skip 1,0
 5130               	.global	owiTemperatureCommandKeywords
 5131               		.section	.progmem.data,"a",@progbits
 5134               	owiTemperatureCommandKeywords:
 5135 0000 0000      		.word	owiTemperatureCommandKeyword00
 5136 0002 0000      		.word	owiTemperatureCommandKeyword01
 5137 0004 0000      		.word	owiTemperatureCommandKeyword02
 5138 0006 0000      		.word	owiTemperatureCommandKeyword03
 5139 0008 0000      		.word	owiTemperatureCommandKeyword04
 5140 000a 0000      		.word	owiTemperatureCommandKeyword05
 5141 000c 0000      		.word	owiTemperatureCommandKeyword06
 5144               	__c.3045:
 5145 000e 4445 4255 		.string	"DEBUG (%4i, %s) parasitic devices NONE on pins 0x%x "
 5145      4720 2825 
 5145      3469 2C20 
 5145      2573 2920 
 5145      7061 7261 
 5148               	__c.3043:
 5149 0043 5245 4356 		.ascii	"RECV PAR"
 5149      2050 4152 
 5150 004b 4120 7061 		.string	"A parasitic devices NONE on pins 0x%x (pulled HIGH within %i ms)"
 5150      7261 7369 
 5150      7469 6320 
 5150      6465 7669 
 5150      6365 7320 
 5153               	__c.3041:
 5154 008c 4445 4255 		.string	"DEBUG (%4i, %s) parasitic devices SOME on pins 0x%x "
 5154      4720 2825 
 5154      3469 2C20 
 5154      2573 2920 
 5154      7061 7261 
 5157               	__c.3039:
 5158 00c1 5245 4356 		.string	"RECV PARA parasitic devices SOME on pins 0x%x "
 5158      2050 4152 
 5158      4120 7061 
 5158      7261 7369 
 5158      7469 6320 
 5161               	__c.3029:
 5162 00f0 4445 4247 		.ascii	"DEBG findPa"
 5162      2066 696E 
 5162      6450 61
 5163 00fb 7261 7369 		.string	"rasiticlyPoweredDevices: some devices present (pin pattern 0x%x)"
 5163      7469 636C 
 5163      7950 6F77 
 5163      6572 6564 
 5163      4465 7669 
 5166               	__c.3026:
 5167 013c 4445 4247 		.ascii	"DEBG fin"
 5167      2066 696E 
 5168 0144 6450 6172 		.string	"dParasiticlyPoweredDevices: no Device present (pin pattern 0x%x)"
 5168      6173 6974 
 5168      6963 6C79 
 5168      506F 7765 
 5168      7265 6444 
 5171               	__c.2997:
 5172 0185 4445 4255 		.string	"DEBUG (%4i, %s) fcn:ReadTemperatures end"
 5172      4720 2825 
 5172      3469 2C20 
 5172      2573 2920 
 5172      6663 6E3A 
 5175               	__c.2995:
 5176 01ae 4445 4255 		.string	"DEBUG (%4i, %s) %s"
 5176      4720 2825 
 5176      3469 2C20 
 5176      2573 2920 
 5176      2573 00
 5179               	__c.2993:
 5180 01c1 4F57 4920 		.ascii	"OWI Temperature "
 5180      5465 6D70 
 5180      6572 6174 
 5180      7572 6520 
 5181 01d1 436F 6E76 		.string	"Conversion timeout (>%i ms, %s, bus_pattern 0x%x vs. mask: 0x%x)"
 5181      6572 7369 
 5181      6F6E 2074 
 5181      696D 656F 
 5181      7574 2028 
 5184               	__c.2991:
 5185 0212 4445 4255 		.string	"DEBUG (%4i, %s) passive (bus pattern 0x%x owiBusMask 0x%x)"
 5185      4720 2825 
 5185      3469 2C20 
 5185      2573 2920 
 5185      7061 7373 
 5188               	__c.2989:
 5189 024d 4445 4255 		.string	"DEBUG (%4i, %s) fcn:ReadTemperatures begin"
 5189      4720 2825 
 5189      3469 2C20 
 5189      2573 2920 
 5189      6663 6E3A 
 5192               	__c.2966:
 5193 0278 4445 4255 		.ascii	"DEBUG (%4i, "
 5193      4720 2825 
 5193      3469 2C20 
 5194 0284 2573 2920 		.string	"%s) OWI Temperature Conversion timeout (>%i ms) on bus_mask (%i)"
 5194      4F57 4920 
 5194      5465 6D70 
 5194      6572 6174 
 5194      7572 6520 
 5197               	__c.2964:
 5198 02c5 4F57 4920 		.string	"OWI Temperature Conversion timeout"
 5198      5465 6D70 
 5198      6572 6174 
 5198      7572 6520 
 5198      436F 6E76 
 5201               	__c.2962:
 5202 02e8 44        		.ascii	"D"
 5203 02e9 4542 5547 		.string	"EBUG (%4i, %s) owiTemperatureConversionAfterMath conversion done"
 5203      2028 2534 
 5203      692C 2025 
 5203      7329 206F 
 5203      7769 5465 
 5206               	__c.2957:
 5207 032a 4445 4255 		.ascii	"DEBUG (%4i, %s) "
 5207      4720 2825 
 5207      3469 2C20 
 5207      2573 2920 
 5208 033a 6F77 6954 		.string	"owiTemperatureConversionAfterMath waiting the remaining %i times"
 5208      656D 7065 
 5208      7261 7475 
 5208      7265 436F 
 5208      6E76 6572 
 5211               	__c.2955:
 5212 037b 4445 4255 		.ascii	"DEBUG (%4i, "
 5212      4720 2825 
 5212      3469 2C20 
 5213 0387 2573 2920 		.string	"%s) owiTemperatureConversionAfterMath waited %i times a delay of"
 5213      6F77 6954 
 5213      656D 7065 
 5213      7261 7475 
 5213      7265 436F 
 5216               	__c.2889:
 5217 03c8 4445 4255 		.ascii	"DEBUG (%4i, %s) fcn:MakeTe"
 5217      4720 2825 
 5217      3469 2C20 
 5217      2573 2920 
 5217      6663 6E3A 
 5218 03e2 6D70 436F 		.string	"mpConversionOfAll finished (Timeout: current = 0x%x, all = 0x%x)"
 5218      6E76 6572 
 5218      7369 6F6E 
 5218      4F66 416C 
 5218      6C20 6669 
 5221               	__c.2880:
 5222 0423 4445 4255 		.string	"DEBUG (%4i, %s) waiting for conversion"
 5222      4720 2825 
 5222      3469 2C20 
 5222      2573 2920 
 5222      7761 6974 
 5225               	__c.2878:
 5226 044a 4445 4255 		.string	"DEBUG (%4i, %s) parasitic conversion done"
 5226      4720 2825 
 5226      3469 2C20 
 5226      2573 2920 
 5226      7061 7261 
 5229               	__c.2876:
 5230 0474 4445 4255 		.string	"DEBUG (%4i, %s) parasitic conversion "
 5230      4720 2825 
 5230      3469 2C20 
 5230      2573 2920 
 5230      7061 7261 
 5233               	__c.2874:
 5234 049a 4445 4255 		.ascii	"DEBUG (%"
 5234      4720 2825 
 5235 04a2 3469 2C20 		.string	"4i, %s) fcn:MakeTempConversionOfAll starting conversion sequence"
 5235      2573 2920 
 5235      6663 6E3A 
 5235      4D61 6B65 
 5235      5465 6D70 
 5238               	__c.2872:
 5239 04e3 4445 4255 		.ascii	"DEBUG (%4i, %s) fcn"
 5239      4720 2825 
 5239      3469 2C20 
 5239      2573 2920 
 5239      6663 6E
 5240 04f6 3A4D 616B 		.string	":MakeTempConversionOfAll some devices present (pin pattern 0x%x)"
 5240      6554 656D 
 5240      7043 6F6E 
 5240      7665 7273 
 5240      696F 6E4F 
 5243               	__c.2870:
 5244 0537 4445 4255 		.ascii	"DEBUG (%4i, %s) "
 5244      4720 2825 
 5244      3469 2C20 
 5244      2573 2920 
 5245 0547 6663 6E3A 		.string	"fcn:MakeTempConversionOfAll no Device present (pin pattern 0x%x)"
 5245      4D61 6B65 
 5245      5465 6D70 
 5245      436F 6E76 
 5245      6572 7369 
 5248               	__c.2868:
 5249 0588 4445 4255 		.ascii	"DEBUG (%4i, %s) fcn:MakeTem"
 5249      4720 2825 
 5249      3469 2C20 
 5249      2573 2920 
 5249      6663 6E3A 
 5250 05a3 7043 6F6E 		.string	"pConversionOfAll bus: mixed sensors, max. t_conv: %f (pins 0x%x)"
 5250      7665 7273 
 5250      696F 6E4F 
 5250      6641 6C6C 
 5250      2062 7573 
 5253               	__c.2866:
 5254 05e4 4445 4255 		.ascii	"DEBUG (%4i, %s) fcn:MakeTempConversionOfA"
 5254      4720 2825 
 5254      3469 2C20 
 5254      2573 2920 
 5254      6663 6E3A 
 5255 060d 6C6C 2062 		.string	"ll bus: only DS18B20, adopting max. t_conv to: %i ms (pins 0x%x)"
 5255      7573 3A20 
 5255      6F6E 6C79 
 5255      2044 5331 
 5255      3842 3230 
 5258               	__c.2862:
 5259 064e 4445 4255 		.string	"DEBUG (%4i, %s) owiTemperatureConversion: no temp sensors at all"
 5259      4720 2825 
 5259      3469 2C20 
 5259      2573 2920 
 5259      6F77 6954 
 5262               	__c.2851:
 5263 068f 4445 4255 		.string	"DEBUG (%4i, %s) "
 5263      4720 2825 
 5263      3469 2C20 
 5263      2573 2920 
 5263      00
 5264               		.lcomm maxcount.2857,4
 5265               		.lcomm count.2856,4
 5266               		.lcomm timeout_flag.2855,1
 5269               	__c.2783:
 5270 06a0 696E 7661 		.string	"invalid argument"
 5270      6C69 6420 
 5270      6172 6775 
 5270      6D65 6E74 
 5270      00
 5273               	__c.2776:
 5274 06b1 2069 676E 		.string	" ignore conv. response: "
 5274      6F72 6520 
 5274      636F 6E76 
 5274      2E20 7265 
 5274      7370 6F6E 
 5277               	__c.2768:
 5278 06ca 4445 4255 		.string	"DEBUG (%4i, %s) misc temp commands keyword %s doesn't match"
 5278      4720 2825 
 5278      3469 2C20 
 5278      2573 2920 
 5278      6D69 7363 
 5281               	__c.2765:
 5282 0706 4445 4255 		.string	"DEBUG (%4i, %s) misc temp commands keyword %s matches"
 5282      4720 2825 
 5282      3469 2C20 
 5282      2573 2920 
 5282      6D69 7363 
 5285               	__c.2743:
 5286 073c 696E 7661 		.string	"invalid number of arguments"
 5286      6C69 6420 
 5286      6E75 6D62 
 5286      6572 206F 
 5286      6620 6172 
 5289               	__c.2740:
 5290 0758 6E6F 2073 		.string	"no supported 1-wire temperature device present"
 5290      7570 706F 
 5290      7274 6564 
 5290      2031 2D77 
 5290      6972 6520 
 5293               	__c.2738:
 5294 0787 2064 6F6E 		.string	" done"
 5294      6500 
 5297               	__c.2736:
 5298 078d 2000      		.string	" "
 5301               	__c.2732:
 5302 078f 6E6F 2073 		.string	"no supported 1-wire temperature device present"
 5302      7570 706F 
 5302      7274 6564 
 5302      2031 2D77 
 5302      6972 6520 
 5305               	__c.2730:
 5306 07be 2064 6F6E 		.string	" done"
 5306      6500 
 5309               	__c.2713:
 5310 07c4 696E 7661 		.string	"invalid number of arguments"
 5310      6C69 6420 
 5310      6E75 6D62 
 5310      6572 206F 
 5310      6620 6172 
 5313               	__c.2710:
 5314 07e0 2573 2076 		.string	"%s value '%i' out of range [9,..,12]"
 5314      616C 7565 
 5314      2027 2569 
 5314      2720 6F75 
 5314      7420 6F66 
 5317               	__c.2699:
 5318 0805 2573 2569 		.string	"%s%i "
 5318      2000 
 5321               	__c.2684:
 5322 080b 696E 7661 		.string	"invalid number of arguments"
 5322      6C69 6420 
 5322      6E75 6D62 
 5322      6572 206F 
 5322      6620 6172 
 5325               	__c.2679:
 5326 0827 2573 2569 		.string	"%s%i (0x%x)"
 5326      2028 3078 
 5326      2578 2900 
 5329               	__c.2665:
 5330 0833 696E 7661 		.string	"invalid number of arguments"
 5330      6C69 6420 
 5330      6E75 6D62 
 5330      6572 206F 
 5330      6620 6172 
 5333               	__c.2660:
 5334 084f 2046 414C 		.string	" FALSE"
 5334      5345 00
 5337               	__c.2658:
 5338 0856 2054 5255 		.string	" TRUE"
 5338      4500 
 5341               	__c.2643:
 5342 085c 696E 7661 		.string	"invalid number of arguments"
 5342      6C69 6420 
 5342      6E75 6D62 
 5342      6572 206F 
 5342      6620 6172 
 5345               	__c.2638:
 5346 0878 2046 414C 		.string	" FALSE"
 5346      5345 00
 5349               	__c.2636:
 5350 087f 2054 5255 		.string	" TRUE"
 5350      4500 
 5353               	__c.2616:
 5354 0885 696E 7661 		.string	"invalid number of arguments"
 5354      6C69 6420 
 5354      6E75 6D62 
 5354      6572 206F 
 5354      6620 6172 
 5357               	__c.2611:
 5358 08a1 4641 4C53 		.string	"FALSE"
 5358      4500 
 5361               	__c.2609:
 5362 08a7 5452 5545 		.string	"TRUE"
 5362      00
 5365               	__c.2607:
 5366 08ac 4641 4C53 		.string	"FALSE"
 5366      4500 
 5369               	__c.2605:
 5370 08b2 5452 5545 		.string	"TRUE"
 5370      00
 5373               	__c.2574:
 5374 08b7 4445 4255 		.string	"DEBUG (%4i, %s) found %i temp devices"
 5374      4720 2825 
 5374      3469 2C20 
 5374      2573 2920 
 5374      666F 756E 
 5377               	__c.2572:
 5378 08dd 4445 4255 		.string	"DEBUG (%4i, %s) misc temp commands keyword %s matches"
 5378      4720 2825 
 5378      3469 2C20 
 5378      2573 2920 
 5378      6D69 7363 
 5381               	__c.2560:
 5382 0913 7772 6974 		.string	"write argument: too many arguments"
 5382      6520 6172 
 5382      6775 6D65 
 5382      6E74 3A20 
 5382      746F 6F20 
 5385               	__c.2557:
 5386 0936 696E 7661 		.string	"invalid arguments"
 5386      6C69 6420 
 5386      6172 6775 
 5386      6D65 6E74 
 5386      7300 
 5389               	__c.2523:
 5390 0948 6E6F 2073 		.string	"no supported 1-wire temperature device present"
 5390      7570 706F 
 5390      7274 6564 
 5390      2031 2D77 
 5390      6972 6520 
 5393               	__c.2521:
 5394 0977 6E6F 206D 		.string	"no matching ID was found"
 5394      6174 6368 
 5394      696E 6720 
 5394      4944 2077 
 5394      6173 2066 
 5397               	__c.2516:
 5398 0990 4445 4255 		.ascii	"DEBUG (%4i, %s) fcn:rea"
 5398      4720 2825 
 5398      3469 2C20 
 5398      2573 2920 
 5398      6663 6E3A 
 5399 09a7 6454 656D 		.string	"dTempSensors call: FindFamilyDevicesAndGetValues family code: %x"
 5399      7053 656E 
 5399      736F 7273 
 5399      2063 616C 
 5399      6C3A 2046 
 5400               		.comm ErrorCodes,1,1
 5403               	owiTemperatureCommandKeyword00:
 5404 09e8 636F 6E76 		.string	"convert_only"
 5404      6572 745F 
 5404      6F6E 6C79 
 5404      00
 5407               	owiTemperatureCommandKeyword01:
 5408 09f5 6E6F 5F63 		.string	"no_convert"
 5408      6F6E 7665 
 5408      7274 00
 5411               	owiTemperatureCommandKeyword02:
 5412 0a00 6967 6E6F 		.string	"ignore_conv_response"
 5412      7265 5F63 
 5412      6F6E 765F 
 5412      7265 7370 
 5412      6F6E 7365 
 5415               	owiTemperatureCommandKeyword03:
 5416 0a15 6D61 785F 		.string	"max_conv_time_ms"
 5416      636F 6E76 
 5416      5F74 696D 
 5416      655F 6D73 
 5416      00
 5419               	owiTemperatureCommandKeyword04:
 5420 0a26 666F 7263 		.string	"force_parasitic_mode"
 5420      655F 7061 
 5420      7261 7369 
 5420      7469 635F 
 5420      6D6F 6465 
 5423               	owiTemperatureCommandKeyword05:
 5424 0a3b 7265 736F 		.string	"resolution_DS18B20"
 5424      6C75 7469 
 5424      6F6E 5F44 
 5424      5331 3842 
 5424      3230 00
 5427               	owiTemperatureCommandKeyword06:
 5428 0a4e 7369 6E67 		.string	"single_parasitic_conv"
 5428      6C65 5F70 
 5428      6172 6173 
 5428      6974 6963 
 5428      5F63 6F6E 
 5515               		.text
 5517               	.Letext0:
 5518               	/* File "one_wire_temperature.c": code 3907 = 0x0f43 (3634), prologues 131, epilogues 142 */
DEFINED SYMBOLS
                            *ABS*:00000000 one_wire_temperature.c
     /tmp/cc35izqs.s:3      *ABS*:0000003f __SREG__
     /tmp/cc35izqs.s:4      *ABS*:0000003e __SP_H__
     /tmp/cc35izqs.s:5      *ABS*:0000003d __SP_L__
     /tmp/cc35izqs.s:6      *ABS*:00000000 __tmp_reg__
     /tmp/cc35izqs.s:7      *ABS*:00000001 __zero_reg__
     /tmp/cc35izqs.s:134    .text:00000000 owiTemperatureFindParasiticlyPoweredDevices
     /tmp/cc35izqs.s:5116   .data:0000002a owiTemperatureParasiticModeMask
     /tmp/cc35izqs.s:5144   .progmem.data:0000000e __c.3045
     /tmp/cc35izqs.s:5153   .progmem.data:0000008c __c.3041
     /tmp/cc35izqs.s:5166   .progmem.data:0000013c __c.3026
     /tmp/cc35izqs.s:5161   .progmem.data:000000f0 __c.3029
     /tmp/cc35izqs.s:5157   .progmem.data:000000c1 __c.3039
     /tmp/cc35izqs.s:5148   .progmem.data:00000043 __c.3043
     /tmp/cc35izqs.s:617    .text:00000304 owiTemperatureReadSensorsCheckCommandSyntax
     /tmp/cc35izqs.s:5385   .progmem.data:00000936 __c.2557
     /tmp/cc35izqs.s:5381   .progmem.data:00000913 __c.2560
     /tmp/cc35izqs.s:746    .text:000003ca owiTemperatureReadSingleSensor
     /tmp/cc35izqs.s:5184   .progmem.data:00000212 __c.2991
     /tmp/cc35izqs.s:5188   .progmem.data:0000024d __c.2989
     /tmp/cc35izqs.s:5080   .data:00000024 owiTemperatureTimeoutMask
     /tmp/cc35izqs.s:5179   .progmem.data:000001c1 __c.2993
     /tmp/cc35izqs.s:5171   .progmem.data:00000185 __c.2997
     /tmp/cc35izqs.s:5175   .progmem.data:000001ae __c.2995
     /tmp/cc35izqs.s:1190   .text:000006e2 owiTemperatureConversionEvaluateTimeoutFlag
     /tmp/cc35izqs.s:5211   .progmem.data:0000037b __c.2955
     /tmp/cc35izqs.s:5197   .progmem.data:000002c5 __c.2964
     /tmp/cc35izqs.s:5201   .progmem.data:000002e8 __c.2962
     /tmp/cc35izqs.s:5192   .progmem.data:00000278 __c.2966
     /tmp/cc35izqs.s:5206   .progmem.data:0000032a __c.2957
     /tmp/cc35izqs.s:1647   .text:00000a04 owiTemperatureConversionParasitic
     /tmp/cc35izqs.s:2065   .text:00000b06 owiTemperatureSensorBySensorParasiticConversion
     /tmp/cc35izqs.s:2107   .text:00000b28 owiTemperatureMiscSubCommandGetSetResolution_DS18B20
     /tmp/cc35izqs.s:5309   .progmem.data:000007c4 __c.2713
     /tmp/cc35izqs.s:5121   .data:0000002b owiTemperatureResolution_DS18B20
     /tmp/cc35izqs.s:5317   .progmem.data:00000805 __c.2699
     /tmp/cc35izqs.s:5313   .progmem.data:000007e0 __c.2710
     /tmp/cc35izqs.s:2293   .text:00000c44 owiTemperatureMiscSubCommandGetSetMaxConversionTime
     /tmp/cc35izqs.s:5321   .progmem.data:0000080b __c.2684
     /tmp/cc35izqs.s:5103   .data:00000028 owiTemperatureMaxConversionTime
     /tmp/cc35izqs.s:5325   .progmem.data:00000827 __c.2679
     /tmp/cc35izqs.s:2421   .text:00000d06 owiTemperatureMiscSubCommandGetSetFlag
     /tmp/cc35izqs.s:5353   .progmem.data:00000885 __c.2616
     /tmp/cc35izqs.s:5361   .progmem.data:000008a7 __c.2609
     /tmp/cc35izqs.s:5365   .progmem.data:000008ac __c.2607
     /tmp/cc35izqs.s:5369   .progmem.data:000008b2 __c.2605
     /tmp/cc35izqs.s:5357   .progmem.data:000008a1 __c.2611
     /tmp/cc35izqs.s:2617   .text:00000e26 owiTemperatureMiscSubCommandGetSetForceParasiticMode
     /tmp/cc35izqs.s:5329   .progmem.data:00000833 __c.2665
     /tmp/cc35izqs.s:5134   .progmem.data:00000000 owiTemperatureCommandKeywords
     /tmp/cc35izqs.s:5110   .bss:00000007 owiTemperatureForceParasiticMode
     /tmp/cc35izqs.s:5337   .progmem.data:00000856 __c.2658
     /tmp/cc35izqs.s:5333   .progmem.data:0000084f __c.2660
     /tmp/cc35izqs.s:2731   .text:00000ec6 owiTemperatureMiscSubCommandGetSetStepByStepParasiticConversion
     /tmp/cc35izqs.s:5341   .progmem.data:0000085c __c.2643
     /tmp/cc35izqs.s:5128   .bss:00000008 owiTemperatureSensorBySensorParasiticConversionFlag
     /tmp/cc35izqs.s:5349   .progmem.data:0000087f __c.2636
     /tmp/cc35izqs.s:5345   .progmem.data:00000878 __c.2638
     /tmp/cc35izqs.s:2845   .text:00000f66 owiTemperatureGetNumberOfDevicesAndSetTemperatureMask
     /tmp/cc35izqs.s:5050   .bss:00000000 owiTemperatureMask
     /tmp/cc35izqs.s:5062   .data:00000020 p_owiTemperatureMask_DS18B20
     /tmp/cc35izqs.s:5056   .bss:00000002 owiTemperatureMask_DS18B20
     /tmp/cc35izqs.s:5069   .bss:00000004 owiTemperatureMask_DS18S20
     /tmp/cc35izqs.s:5373   .progmem.data:000008b7 __c.2574
     /tmp/cc35izqs.s:5377   .progmem.data:000008dd __c.2572
     /tmp/cc35izqs.s:3078   .text:0000110a owiTemperatureConversions
     /tmp/cc35izqs.s:5085   .data:00000026 owiUseCommonTemperatureConversion_flag
     /tmp/cc35izqs.s:5248   .progmem.data:00000588 __c.2868
     /tmp/cc35izqs.s:5092   .bss:00000006 owiTemperatureConversionGoingOnCountDown
     /tmp/cc35izqs.s:5264   .bss:0000000d count.2856
                             .bss:00000009 maxcount.2857
     /tmp/cc35izqs.s:5265   .bss:00000011 timeout_flag.2855
     /tmp/cc35izqs.s:5253   .progmem.data:000005e4 __c.2866
     /tmp/cc35izqs.s:5243   .progmem.data:00000537 __c.2870
     /tmp/cc35izqs.s:5238   .progmem.data:000004e3 __c.2872
     /tmp/cc35izqs.s:5233   .progmem.data:0000049a __c.2874
     /tmp/cc35izqs.s:5262   .progmem.data:0000068f __c.2851
     /tmp/cc35izqs.s:5229   .progmem.data:00000474 __c.2876
     /tmp/cc35izqs.s:5225   .progmem.data:0000044a __c.2878
     /tmp/cc35izqs.s:5258   .progmem.data:0000064e __c.2862
     /tmp/cc35izqs.s:5216   .progmem.data:000003c8 __c.2889
     /tmp/cc35izqs.s:5098   .data:00000027 owiTemperatureIgnoreConversionResponse
     /tmp/cc35izqs.s:5221   .progmem.data:00000423 __c.2880
     /tmp/cc35izqs.s:4221   .text:00001904 owiTemperatureMiscSubCommandConvertOnly
     /tmp/cc35izqs.s:5285   .progmem.data:0000073c __c.2743
     /tmp/cc35izqs.s:5301   .progmem.data:0000078f __c.2732
     /tmp/cc35izqs.s:5305   .progmem.data:000007be __c.2730
     /tmp/cc35izqs.s:5297   .progmem.data:0000078d __c.2736
     /tmp/cc35izqs.s:5293   .progmem.data:00000787 __c.2738
     /tmp/cc35izqs.s:5289   .progmem.data:00000758 __c.2740
     /tmp/cc35izqs.s:4416   .text:00001a2a owiTemperatureReadSensors
     /tmp/cc35izqs.s:5393   .progmem.data:00000977 __c.2521
     /tmp/cc35izqs.s:5397   .progmem.data:00000990 __c.2516
     /tmp/cc35izqs.s:5389   .progmem.data:00000948 __c.2523
     /tmp/cc35izqs.s:4679   .text:00001bba owiTemperatureMiscSubCommands
     /tmp/cc35izqs.s:5277   .progmem.data:000006ca __c.2768
     /tmp/cc35izqs.s:5269   .progmem.data:000006a0 __c.2783
     /tmp/cc35izqs.s:5273   .progmem.data:000006b1 __c.2776
     /tmp/cc35izqs.s:5281   .progmem.data:00000706 __c.2765
     /tmp/cc35izqs.s:5014   .text:00001de2 owiTemperatureSensors
     /tmp/cc35izqs.s:5075   .data:00000022 p_owiTemperatureMask_DS18S20
     /tmp/cc35izqs.s:5403   .progmem.data:000009e8 owiTemperatureCommandKeyword00
     /tmp/cc35izqs.s:5407   .progmem.data:000009f5 owiTemperatureCommandKeyword01
     /tmp/cc35izqs.s:5411   .progmem.data:00000a00 owiTemperatureCommandKeyword02
     /tmp/cc35izqs.s:5415   .progmem.data:00000a15 owiTemperatureCommandKeyword03
     /tmp/cc35izqs.s:5419   .progmem.data:00000a26 owiTemperatureCommandKeyword04
     /tmp/cc35izqs.s:5423   .progmem.data:00000a3b owiTemperatureCommandKeyword05
     /tmp/cc35izqs.s:5427   .progmem.data:00000a4e owiTemperatureCommandKeyword06
                            *COM*:00000001 ErrorCodes

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
BUSES
uart_message_string
debug
debugMask
OWI_DetectPresence
OWI_SendByte
OWI_ReadBit
snprintf_P
UART0_Send_Message_String
ptr_owiStruct
message
CommunicationError
owiBusMask
owi_id_string
clearString
OWI_MatchRom
OWI_ReceiveByte
snprintf
OWI_WriteBit0
OWI_WriteBit1
OWI_WriteBit0ShortRelease
countDEV
general_errorCode
createReceiveHeader
setParameter
strncat
strncat_P
createExtendedSubCommandReceiveResponseHeader
owiReadDevicesID
NumDevicesFound
owiScanIDS
checkBusAndDeviceActivityMasks
ptr_uartStruct
owiFindIdAndGetIndex
generateCommonPinsPattern
__udivmodhi4
owiFindFamilyDevicesAndAccessValues
strncmp_P
