Beispiel #1
0
void AlgorithmRepository::factoryDefault()
{
#ifdef ENABLE_DEBUG_UART
  Comm::printf_P( PSTR("Factory default!") );
#endif
	for( BYTE i=0;i < OUTPUT_CHANNELS;i++ )
	{
    inputChannel[i]= 0;
		for( BYTE ii= 0;ii < 2+MAX_SEGMENTS;ii++)
		{
			programArray[i][ii].algorithm= 0;
			programArray[i][ii].period= 400;
		}
	}

	for( BYTE i = 0; i < RECEIVER_CHANNELS; i++)
	{
		Receiver::setChannelMin( i, FACTORY_SET_MINIMUM );
		Receiver::setChannelMax( i, FACTORY_SET_MAXIMUM );
	}
	Receiver::setChannelModeByte( 0 );
  Adc::setLimit(0);

	writeToEEPROM();
}
void setupMain() {
    Serial.println("PoP board starting 8/14 10:19pm");
    print_mac();

    bool success = readFromEEPROM(sizeof(Platform), (char*) &platform);
    if (success) {
        Serial.print("Read from EEPROM ");
        Serial.print(platform.identifier);
        Serial.println();
    }
    char  platformData[10];
    const int platformSerialLength = 10;
    int bytesRead = Serial.readBytes((char *) platformData, platformSerialLength);
    Serial.print(bytesRead);
    Serial.println(" bytes read");
    Serial.print(sizeof(Platform));
    Serial.println(" platform size");
    if (bytesRead == platformSerialLength) {
        bool success = platform.initialize(platformData, platformSerialLength);
        if (success) {
            writeToEEPROM(sizeof(Platform), (char*) &platform);
            Serial.println("success, wrote to EEPROM");
        }
        else
            Serial.println("Fail parsing data from central");
        Serial.print(platform.y);
    }
    initializeAccelerometer(constants.PULSE_THSX,constants.PULSE_THSY,
                            constants.PULSE_THSZ);
    
    info = new RNInfo(constants.LEDs, platform);
    controller = new RNController(*info);

    info->printf("Ready, platform %d, wire %d\n", info->identifier, info->wirePosition);
    initializeComm(*info);
#ifndef FULL_STRIP
    debugTriadPositions();
#endif

    createWatchdog(constants.watchdogTimeout);


}