' TEMP TEST RECEIVER_MAC$ = "CC:50:E3:7C:27:D8" ' MAC address of the receiver espnow.begin ' should print 0 if all OK espnow.add_peer RECEIVER_MAC$ ' set the address of the receiver onEspNowError status ' set the place where jump in case of TX error 'LM-73 REGISTER POINTER NEUMONICS ADDRESS = &H48 'LM73-0,ADDRESS PIN FLOAT TREAD = 0 'TEMPERATURE HOLDING REGISTER CONFIG = 1 'CONFIGURATION REGISTER UPPLIM = 2 'UPPER LIMIT HOLDING REGISTER LOWLIM = 3 'LOWER LIMIT HOLDING REGISTER CONTROL = 4 'CONTROL REGISTER IDREG = 7 'ID REGISTER SIGN = 0 i2c.setup 0,2 ' set I2C bus for i = 0 to 100000 GOSUB CONFIG_LM73 PAUSE 250 GOSUB READTEMP_LM73 'READ AND UPDATE TEMPERATURE FROM LM-73 (Degrees F. x 0.1) PAUSE 250 gosub sendMessage PAUSE 1000 'WLOG v * scale,TEMPERATURE,RAW next i end '--------------------------------------------------------- sendMessage: espnow.write " Raw: " + STR$(RAW) + " Temperature: " + STR$(TEMPERATURE, "%3.2f") RETURN status: print "TX error on "; espnow.error$ ' print the error RETURN ' ******************************************************************** CONFIG_LM73: ' ******************************************************************** POINTER = CONFIG 'CONFIGURATION REGISTER IOBUFF.WRITE(0, 0, &h78) i2c.write_iobuff(0, 0, 1),ADDRESS,POINTER 'full power mode/one shot mode POINTER = CONTROL 'CONTROL REGISTER IOBUFF.WRITE(0, 0, &hE0) i2c.write_iobuff(0, 0, 1),ADDRESS,POINTER '14 BIT RESOLUTION (13 PLUS SIGN) RETURN ' ******************************************************************** READTEMP_LM73: 'READ AND UPDATE TEMPERATURE FROM LM-73 (Degrees F. x 0.1) ' ******************************************************************** POINTER = TREAD 'TEMPERATURE HOLDING REGISTER i2c.read_iobuff(0), ADDRESS, POINTER, 2 TEMPERATURE = iobuff.read(0, 0) << 8 + iobuff.read(0, 1) RAW = TEMPERATURE POINTER = CONFIG 'CONFIGURATION REGISTER IOBUFF.WRITE(0, 0, &hFC) i2c.write_iobuff(0, 0, 1),ADDRESS,POINTER 'shut down mode IF TEMPERATURE > 32767 THEN SIGN = 1 TEMPERATURE = NOT TEMPERATURE 'CHANGE SIGN IF NECESSARY ELSE SIGN = 0 ENDIF TEMPERATURE = TEMPERATURE AND &hFFFF '----------------- DO CONVERSION TO FAHRENHEIT ----------------------------- TEMPERATURE = TEMPERATURE * (1/((19200-0.0)/(302.0-32.0))) IF SIGN = 0 THEN 'TEMPERATURE IS POSITIVE TEMPERATURE = TEMPERATURE + 32'OFFSET '~320 ELSE 'TEMPERATURE IS NEGATIVE TEMPERATURE = 32 - TEMPERATURE'OFFSET - TEMPERATURE ENDIF RETURN