| Ligne 198 : |
Ligne 198 : |
| | </syntaxhighlight> | | </syntaxhighlight> |
| | | | |
| | + | Now, we can focus on the main loop. |
| | | | |
| | + | The first step is to send the header if not done yet. |
| | + | |
| | + | Then we reads the sensors (as we have tested them, this should not be a surprise). We also capture the time with the function {{fname|millis()}}, so the {{fname|ms}} variable contains the number of milliseconds since the last reset. |
| | + | |
| | + | Finally, we do increment the {{fname|packetnum}} variable. This would allows to track lost packets on the receiver side. |
| | + | |
| | + | {{fname|packet_str}} is the message to send via radio. It is composed with {{fname|String}} objects and concatenation operations. {{fname|String}} are welcome to transform '''float''' into string representation since most common float to string C standard functions would fail to work properly onto Arduino alike plateforms. |
| | + | |
| | + | The key function to transform the '''String object''' into a '''C buffer'' is {{fname|packet_str.c_str()}} which offer an access to the underlying array of bytes (exactly what we would need for the radio module library). |
| | + | |
| | <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| | bool header_send = false; // if header has not been send yet... | | bool header_send = false; // if header has not been send yet... |
| | int16_t packetnum = 0; // packet number increment at each data emission | | int16_t packetnum = 0; // packet number increment at each data emission |
| | void loop() { | | void loop() { |
| − | // send columns header | + | // --- SEND COLUMNS HEADER ------------------- |
| | if( !(header_send) ){ | | if( !(header_send) ){ |
| | send_header(); | | send_header(); |
| Ligne 209 : |
Ligne 220 : |
| | } | | } |
| | | | |
| − | // read the voltage of TMP36 | + | // --- READ SENSORS --------------------------- |
| | float voltage = getVoltage(temperaturePin); | | float voltage = getVoltage(temperaturePin); |
| − | // convert voltage to temperature
| |
| − | // Degrees = (voltage - 500mV) multiplied by 100
| |
| | float temperature = (voltage - .5) *100; | | float temperature = (voltage - .5) *100; |
| | | | |
| Ligne 221 : |
Ligne 230 : |
| | packetnum += 1; // increment | | packetnum += 1; // increment |
| | | | |
| − | // char radiopacket[40] = "Hello World #"; | + | // --- Compose the Message to send ------------ |
| | String packet_str = String( ":"+String(packetnum,DEC)+"|" ); | | String packet_str = String( ":"+String(packetnum,DEC)+"|" ); |
| | packet_str.concat( String(ms,DEC)+"|" ); | | packet_str.concat( String(ms,DEC)+"|" ); |