I am trying to display a value derived from I2C to a LED Digits Widget.
Having no luck. If I just Print the value it prints correctly but without the Print statement the program never runs, it just displays "Mounting" after inserting the Flash.
The print statement is at the end, commented out
My code is below. Any ideas what I am doing wrong?
One more thing? When Compiling & Loading, the IDE does not always ask for the Flash Drive with a pop-up, Sometimes yes, sometimes no. Why is this inconsistent?
Thanks
Having no luck. If I just Print the value it prints correctly but without the Print statement the program never runs, it just displays "Mounting" after inserting the Flash.
The print statement is at the end, commented out
My code is below. Any ideas what I am doing wrong?
One more thing? When Compiling & Loading, the IDE does not always ask for the Flash Drive with a pop-up, Sometimes yes, sometimes no. Why is this inconsistent?
Thanks
Code:
#platform "uLCD-28PTU" #inherit "4DGL_16bitColours.fnc" #inherit "VisualConst.inc" #inherit "COOLGAUGE2Const.inc" #inherit "LEDDIGITSDISPLAY.INC" #constant device 0x80 #constant speed I2C_SLOW var data; var data1; var myTemp; var myTemp1; var myTempTot; var myTempC; var myRh; var myRhTot; var myRetTemp; var myRetRh; func receive() I2C_Open(speed); I2C_Start(); I2C_Write(device); I2C_Write(0xE5); I2C_Restart(); I2C_Write(device + 0x01); data:=I2C_Read(); I2C_Ack(); data1:=I2C_Read(); I2C_Nack(); I2C_Stop(); //I2C_Ack(); I2C_Start(); I2C_Write(device); I2C_Write(0xE0); I2C_Restart(); I2C_Write(device + 0x01); myTemp:=I2C_Read(); I2C_Ack(); myTemp1:=I2C_Read(); I2C_Nack(); I2C_Stop(); endfunc func RetTemp(var valin) var li[2] ; umul_1616(li, valin,17572) ; return li[1] - 4685 ; endfunc func RetRh(var valin) var li[2] ; umul_1616(li, valin,12500) ; return li[1] - 600 ; endfunc func main() // Uncomment the following if uSD images used. putstr("Mounting...\n"); if (!(disk:=file_Mount())) while(!(disk :=file_Mount())) putstr("Drive not mounted..."); pause(200); gfx_Cls(); pause(200); wend endif gfx_TransparentColour(0x0020); gfx_Transparency(ON); repeat receive(); myRhTot := (data<<8) + data1; myRetRh := RetRh(myRhTot); myTempTot := myTemp<<8 + myTemp1; myRetTemp := RetTemp(myTempTot); //print(myRetTemp); // Leddigits1 1.0 generated 2/25/2014 11:51:50 PM img_Show(hndl, iLeddigits1); // show all digits at 0, only do this once ledDigitsDisplay(myRetTemp, iLeddigits1+1, 20, 4, 1, 52, 0) ; forever endfunc
Comment