diff --git a/slave/slave/config.h b/slave/slave/config.h --- a/slave/slave/config.h +++ b/slave/slave/config.h @@ -22,10 +22,10 @@ #define MAX_PAYLOAD_LEN 16 // Number of datatypes to transmit per module type -#define DATATYPES_GENERIC 1 -#define DATATYPES_SENSOR 3 //Should be set to more -#define DATATYPES_GEIGER 2 -#define DATATYPES_CAMERA 1 +#define DATATYPES_GENERIC 3 +#define DATATYPES_SENSOR 8 +#define DATATYPES_GEIGER 4 +#define DATATYPES_CAMERA 3 //Sensors and IO #define SENSOR_LOOP 200 // Frequency of sensor reads (in ms) diff --git a/slave/slave/lib/masterComm.c b/slave/slave/lib/masterComm.c --- a/slave/slave/lib/masterComm.c +++ b/slave/slave/lib/masterComm.c @@ -89,20 +89,11 @@ void masterComm_modules() // Send Board Temperature (Common for all modules) masterComm_packetSend_signed(0,sensors_getBoardTemp()); - // Send Heater Status (Common for all modules) - serial0_sendChar('['); - snprintf(buff2,64,"1%u",/*Heater Status Function Here */2); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); + masterComm_packetSend_unsigned(1,/*Heater Status Get Function Here */0); // Send Battery Level (Common for all modules) - serial0_sendChar('['); - snprintf(buff2,64,"2%u",/*Heater Status Function Here */2); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); + masterComm_packetSend_unsigned(2,/*Battery Level Get Function Here */0); // Send module specific sensor readings @@ -117,59 +108,32 @@ void masterComm_modules() // Sensors // Send SPI Temperature (Air) - serial0_sendChar('['); - snprintf(buff2,64,"2%u",sensors_getSpiTemp()); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); + masterComm_packetSend_unsigned(3,sensors_getSpiTemp()); // Send Ambient Light (Needs to be formatted) - serial0_sendChar('['); - snprintf(buff2,64,"3%u",geiger_getCpm()); //FIX - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); + masterComm_packetSend_unsigned(4,/*Ambient Light Get Function Here */0); + + // Send Humidity + masterComm_packetSend_unsigned(5,/*Humidity Get Function Here */0); -/* - // Send CPM (radiation) - serial0_sendChar('['); - snprintf(buff2,64,"7%u",geiger_getCpm()); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); - - // Send CPM (radiation) - serial0_sendChar('['); - snprintf(buff2,64,"7%u",geiger_getCpm()); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); - - // Send CPM (radiation) - serial0_sendChar('['); - snprintf(buff2,64,"7%u",geiger_getCpm()); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); -*/ + // Send Pressure + masterComm_packetSend_unsigned(6,/*Pressure Get Function Here */0); + // Send Altitude + masterComm_packetSend_unsigned(7,/*Altitude Get Function Here */0); break; case 2: // Geiger // Send CPM (radiation) - serial0_sendChar('['); - snprintf(buff2,64,"7%u",geiger_getCpm()); - serial0_sendString(buff2); - serial0_sendChar(']'); - serial0_sendChar(masterComm_checksum(buff2)); - + masterComm_packetSend_unsigned(8,geiger_getCpm()); break; case 3: // Camera + break; default: diff --git a/slave/slave/slave.c b/slave/slave/slave.c --- a/slave/slave/slave.c +++ b/slave/slave/slave.c @@ -86,7 +86,6 @@ int main(void) //snprintf(buff,64,"|ModuleID: %u |BoardTemp: %i |Millis: %lu |Heater: %u\r\n",io_getModuleId(),sensors_getBoardTemp(),time_millis(),io_heaterStatus()); //DEBUG //serial0_sendString(buff); //DEBUG - //led_toggle(0); // Toggle LED0(Blue) to show loop running _delay_ms(2); // Delay to prevent the sensor loop from running again before time_millis changes led_off(0); led_off(2);