Changeset - e61ea2af14d5
[Not reviewed]
default
0 2 0
kripperger@CL-SEC241-09.cedarville.edu - 12 years ago 2013-01-24 15:26:44
kripperger@CL-SEC241-09.cedarville.edu
Master Communications work
2 files changed with 54 insertions and 12 deletions:
0 comments (0 inline, 0 general)
slave/slave/lib/masterComm.c
Show inline comments
 
/*
 
 * masterComm.c
 
 *
 
 * Created: 1/22/2013 3:40:53 PM
 
 *  Author: kripperger
 
 */ 
 
 
 
#include <avr/io.h>
 
#include <stdio.h>
 
#include "../config.h"
 
#include "masterComm.h"
 
#include "serial.h"
 
#include "serparser.h"
 
#include "inputOutput.h"
 
 
uint8_t dataTypes;
 
char buff2[64];
 
 
void masterComm_send()
 
void masterComm_types()
 
{
 
	serial0_sendString("[@");
 
	switch(io_getModuleId())
 
	{
 
		case 0:
 
			// Generic
 
			snprintf(buff2,64,"%u",DATATYPES_GENERIC);
 
			dataTypes = DATATYPES_GENERIC;
 
			break;
 
			
 
		case 1:
 
			// Sensors
 
			snprintf(buff2,64,"%u",DATATYPES_SENSOR);
 
			dataTypes = DATATYPES_SENSOR;
 
			break;
 
			
 
		case 2:
 
			// Geiger
 
			snprintf(buff2,64,"%u",DATATYPES_GEIGER);
 
			dataTypes = DATATYPES_GEIGER;
 
			break;
 
			
 
		case 3:
 
			// Camera
 
			snprintf(buff2,64,"%u",DATATYPES_CAMERA);
 
			dataTypes = DATATYPES_CAMERA;
 
			break;
 
			
 
		default:
 
			snprintf(buff2,64,"%u",DATATYPES_GENERIC);
 
			dataTypes = DATATYPES_GENERIC;
 
			break;
 
	}
 
}
 
 
 
void masterComm_modules()
 
{
 
	switch(io_getModuleId())
 
	{
 
		case 0:
 
			// Generic
 
			
 
			break;
 
		
 
		case 1:
 
			// Sensors
 
			
 
			break;
 
	}
 
	
 
		
 
		case 2:
 
			// Geiger
 
			
 
			break;
 
		
 
		case 3:
 
			// Camera
 
			
 
			break;
 
		
 
		default:
 
			
 
			break;
 
	}
 
}
 
 
 
void masterComm_send()
 
{
 
	masterComm_types();
 
	serial0_sendString("[@");
 
	snprintf(buff2,64,"%u]%u",dataTypes,('@'+dataTypes));
 
	serial0_sendString(buff2);
 

	
 

	
 
	
 
	serial0_sendString("got data\r\n");
 
	masterComm_modules();
 
 
	
 
	
 
	serial0_sendString("got request\r\n");		//DEBUG
 
}
 
 
 
void masterComm_check()
 
{
 
	if (serparser_parse() == PARSERESULT_PARSEOK)
 
	{
 
		if (getPayloadType() == ('@'-0x30))		// Request for data recieved
 
		{
 
			// Send all data
 
			masterComm_send();
 
		}	
 
	}
 
}
 
 
slave/slave/lib/masterComm.h
Show inline comments
 
/*
 
 * masterComm.h
 
 *
 
 * Created: 1/22/2013 3:40:43 PM
 
 *  Author: kripperger
 
 */ 
 
 
#ifndef MASTERCOMM_H_
 
#define MASTERCOMM_H_
 
 
 
void masterComm_types();	// Calculates the number of types the module has
 
void masterComm_modules();	// Sends sensor data depending on module
 
 
void masterComm_check();	// Runs parser and checks for data request
 
void masterComm_send();		// Sends data after being requested
 
 
 
 
 
#endif /* MASTERCOMM_H_ */
 
\ No newline at end of file
0 comments (0 inline, 0 general)