Changeset - fb6b4f86ee7b
[Not reviewed]
default
0 2 0
ethanzonca@CL-SEC241-08.cedarville.edu - 12 years ago 2012-12-03 22:36:21
ethanzonca@CL-SEC241-08.cedarville.edu
Data successfully logged to SD card from sensor store. Need to ensure 94% data memory used or lower, otherwise errors occur.
2 files changed with 13 insertions and 9 deletions:
0 comments (0 inline, 0 general)
master/master/lib/serparser.c
Show inline comments
 
@@ -111,13 +111,13 @@ int serparser_parse(void)
 
				#endif
 
				setParserState(STATE_GETID);
 
			}
 
			else // Not start of frame, reset
 
			{
 
				#ifdef DEBUG
 
				//serial0_sendString("invalid\r\n");
 
				serial0_sendString("invalid\r\n");
 
				#endif
 
				setParserState(STATE_RESET);
 
				return PARSERESULT_NODATA; // no valid start bit; better luck next time. run the function the next time around the main loop.
 
			}
 
		}
 
		
 
@@ -132,13 +132,13 @@ int serparser_parse(void)
 
				checksumCalc += byte;
 
				setParserState(STATE_GETDATATYPE);
 
			}
 
			else // Transmission is intended for another module; reset
 
			{
 
				#ifdef DEBUG
 
				//serial0_sendString("bad dest\r\n");
 
				serial0_sendString("bad dest\r\n");
 
				#endif
 
				setParserState(STATE_RESET);
 
			}
 
		}
 
		
 
		// Get payload type ID
 
@@ -154,17 +154,17 @@ int serparser_parse(void)
 
		
 
		// Get payload data
 
		else if(parserState == STATE_GETDATA)
 
		{		
 
			if (byte == ']') // End of frame
 
			{
 
				//#ifdef DEBUG
 
				#ifdef DEBUG
 
				serial0_sendString("eof\r\n");
 
				sprintf(debugBuff, "%d B, sum=%d\r\n", payloadLength, checksumCalc);
 
				serial0_sendString((debugBuff));
 
				//#endif
 
				#endif
 
				
 
				receivedPayload[payloadLength] = 0; // null-terminate string for atoi
 
				
 
				setParserState(STATE_GETCHECKSUM);
 
				// Checksum is now after the close bracket to solve bug FS#29		
 
				
 
@@ -197,18 +197,22 @@ int serparser_parse(void)
 
 
		}
 
		else if(STATE_GETCHECKSUM)
 
		{
 
			// TODO: Compare checksums
 
			if(byte == checksumCalc) {
 
				#ifdef DEBUG
 
				serial0_sendString("check\r\n");
 
				#endif
 
				setParserState(STATE_RESET);
 
				return PARSERESULT_PARSEOK;
 
			}
 
			else {
 
				#ifdef DEBUG
 
				serial0_sendString("bcheck\r\n");
 
				#endif
 
				setParserState(STATE_RESET);
 
				
 
				return PARSERESULT_FAIL;
 
			}
 
			
 
			/*
master/master/master.c
Show inline comments
 
@@ -56,37 +56,37 @@ int main(void)
 
	logger_setup();
 
	afsk_setup();
 

	
 
	//serial0_sendString("\r\n\r\n---------------------------------\r\n");
 
	//serial0_sendString("HAB Controller 1.0 - Initialized!\r\n");
 
	//serial0_sendString("---------------------------------\r\n\r\n");
 
	serial0_sendString("\r\n\r\nHELLO.\r\n\r\n");
 
	//serial0_sendString("\f\r\n\r\Hello.\r\n\r\n");
 
	
 
	led_on(POWER);
 
	
 
	// Buffer for string operations
 
	char logbuf[32];
 
	char logbuf[16];
 
	
 
	// Software timers	
 
	uint32_t lastAprsBroadcast = 0;
 
	uint32_t lastLog = 0;
 
	
 
	// Result of last parser run
 
	int parseResult = PARSERESULT_NODATA;
 
	
 
	// Write CSV header to SD card
 
	logger_log("ProgramTime,LastAprsBroadcast,LastLog\n");
 
	//logger_log("ProgramTime,LastAprsBroadcast,LastLog\n");
 
	
 
	while(1)
 
    {
 
		// Periodic: Logging
 
		if(time_millis() - lastLog > LOGGER_RATE) 
 
		{
 
			led_on(STAT);
 
			//snprintf(logbuf, 32, "%lu,%lu,%lu,\r\n", time_millis(), lastAprsBroadcast,lastLog);
 
			//logger_log(logbuf);
 
			snprintf(logbuf, 16, "%lu,%d,\r\n", time_millis(), sensordata_get(HUMIDITY));
 
			logger_log(logbuf);
 
			led_off(STAT);
 
			lastLog = time_millis();
 
		}		
 
		
 
		// Periodic: APRS transmission
 
		if(time_millis() - lastAprsBroadcast > APRS_TRANSMIT_PERIOD) 
0 comments (0 inline, 0 general)