Procházet zdrojové kódy

Update packet protocoll

Bernd Gottschlag před 5 roky
rodič
revize
8a49c011c9

+ 3
- 3
weather-sensor/firmware/main.c Zobrazit soubor

@@ -119,15 +119,15 @@ int main (void)
119 119
 			reportPacket.senderId = ownId;
120 120
 			//reportPacket.salt; /* TODO */
121 121
 			reportPacket.payload.values.packetIdentifier.elementCount = 3;
122
-			reportPacket.payload.values.packetIdentifier.packetType = 0; /* TODO: report type ? */
122
+			reportPacket.payload.values.packetIdentifier.packetType = PACKET_TYPE_REPORT;
123 123
 
124 124
 			/* Fill in the payload */
125 125
 			reportPacket.payload.values.valueTypeTemperature = VALUE_TYPE_TEMPERATURE;
126
-			reportPacket.payload.values.temperature = sensorData.temperature;
126
+			reportPacket.payload.values.temperature = sensorData.temperature/10;
127 127
 			reportPacket.payload.values.valueTypePressure = VALUE_TYPE_PRESSURE;
128 128
 			reportPacket.payload.values.pressure = sensorData.pressure;
129 129
 			reportPacket.payload.values.valueTypeHumidity = VALUE_TYPE_HUMIDITY;
130
-			reportPacket.payload.values.humidity = sensorData.humidity;
130
+			reportPacket.payload.values.humidity = sensorData.humidity * 100/1024;
131 131
 
132 132
 			/* Calculate the CRC */
133 133
 			crc = Calculate_Crc(reportPacket.payload.buffer, PACKET_BUFFER_LENGTH);

+ 8
- 0
weather-sensor/firmware/nrf24l01.h Zobrazit soubor

@@ -31,6 +31,14 @@ void Write_Message_To_TX_FIFO(uint8_t length, uint8_t * buffer);
31 31
 void Set_TX_Address(uint8_t * txAddress, uint8_t length);
32 32
 void Set_RX_P0_Address(uint8_t * rxAddress, uint8_t length);
33 33
 
34
+typedef enum
35
+{
36
+	PACKET_TYPE_SALT = 0,
37
+	PACKET_TYPE_REPORT = 1,
38
+	PACKET_TYPE_GET_VALUES = 2,
39
+	PACKET_TYPE_VALUES = 3,
40
+} PACKET_TYPE;
41
+
34 42
 typedef enum
35 43
 {
36 44
 	VALUE_TYPE_TIME = 0,

Loading…
Zrušit
Uložit