Example #1
0
/*
 * Read GPIO serial value
 */
float getSerialData(int num_registers, char* result_string, float rule_height) {
	unsigned short int idx = 0, value_read = 0, pins_out_water = 0;
	float pins_mid_level = 0;
	clockUp();
	loadRegisters();
	//FIXME: Essa não é a forma correta de dar delay, muito ineficiente
	__delay_cycles( SLEEP_TIME);
	clockDown();
	unloadRegisters();

	for (idx = 0; idx < num_registers; idx++) {
		//FIXME: Essa não é a forma correta de dar delay, muito ineficiente
		__delay_cycles( SLEEP_TIME);
		value_read = readGpio();
		pins_out_water += value_read;

		if (value_read)
			strcat(result_string, "1");
		else
			strcat(result_string, "0");

		clockUp();
		//FIXME: Essa não é a forma correta de dar delay, muito ineficiente
		__delay_cycles( SLEEP_TIME);
		clockDown();
	}

	pins_mid_level = (MID_LEVEL / RULE_SPACE_PIN);
	rule_height = ((num_registers - pins_out_water - pins_mid_level)
			* RULE_SPACE_PIN);

	return pins_mid_level;
}
Example #2
0
static void readRoutine(uint8_t num_regs, float* result){
	turnOn();
	clockUp();
	loadRegisters();
	//FIXME: add a delay here
	clockDown();
	//FIXME: add a delay here
	unloadRegisters();
	//TODO: code to read pins	
}
Example #3
0
void Clock::runClock(){
				// Serial.print("timer");
				// Serial.print(" | ");
				// Serial.print(timer);
				// Serial.print("\r\n");
				// Serial.print("clockType");
				// Serial.print(" | ");
				// Serial.print(clockType);
				// Serial.print("\r\n");
				// Serial.print("\r\n");
				// Serial.print("\r\n");
	readTempo();
	//advance();
	switch(clockType){
		case 0:
		
			currentMillis = millis();
			if(currentMillis - previousMillis >= interval) {
				clockUp();
				advance();
				notify();
				// Serial.print("timerIN");
				// Serial.print("\r\n");
				// Serial.print(timer);
				// Serial.print("\r\n");

				previousMillis = currentMillis;	
			}
		
		break;
		case 1:
				// Serial.print("interval");
				// Serial.print(" | ");
				// Serial.print(interval);
				// Serial.print("\r\n");
				// Serial.print("clockType1");
				// Serial.print(" | ");
				// Serial.print(clockType);
				// Serial.print("\r\n");
		
		break;
	}
 }
Example #4
0
static void clock(){
	clockUp();
	//FIXME: delay here
	clockDown();
}