Beispiel #1
0
int main ()
{
	// Disable the ADC
	disable_adc();

	// Watchdog timer reset safety check
	wdt_reset_safety();
	
	// Initialise watchdog timer
	init_wdt();

	// Identify input and output pins
	init_pins();

	// Buffer for text
	char s[20];

	// Setup direction and port for debug logging
	STX_PORT |= 1<<STX_BIT;
	STX_DDR |= 1<<STX_BIT;

	// Initialise DSP
	int i = 0;
	for (; i < MAX_READINGS; i++) readings[i] = 0;

	for (;;)
	{
		// Go to sleep
		sleep_avr();
		
		// Read VCC and convert to base 10 number
		long vcc = read_vcc();

		dsp(vcc);
		utoa(average, s, 10);

		// Output VCC to soft serial PIN STX_BIT
		sputs(s);
		sputs("\n\r");

		if (average > FULL_CHARGE_MV)
		{
			init_wdt_05s();
			blink();
		}
		else init_wdt();	
	}
}
void main(){

	WDTCTL = WDTPW + WDTHOLD;       // Stop watchdog timer
	BCSCTL1 = CALBC1_8MHZ;			// 8Mhz calibration for clock
  	DCOCTL  = CALDCO_8MHZ;

  	adc_val = 0;   // most recent result is stored in photo.whole_int
  	updates=0; 		//update counter for debugger
  	last_updates=0; // initialize last_update to 0 like updates value
  	data_send = 0;
  	counter = COUNTER_VAL;
  	low = 29;
  	med = 46;
  	high = 53;
  	light_range = high - low;
  	light_to_pot_factor = (double)light_range / 128.0;
  	state = high_state;
  	beat_count = 0;
  	reached_high = 0;	// set to false
  	reached_low = 0;	// set to false

  	init_spi();
  	init_wdt();
  	init_adc();
  	init_timer();

  	start_conversion();		// do a conversion so that updates > last_updates
  	TACCTL0 |= OUTMOD_4; // turn on speaker
 	_bis_SR_register(GIE+LPM0_bits);

}
/*
 * main.c
 */
void main() {
	init_pins();
	init_button();
	init_adc();
	init_wdt();
	WDT_delay = CURRENT_DELAY;

 	BCSCTL1 = CALBC1_8MHZ;
	DCOCTL =  CALDCO_8MHZ;

	LCD_setup();
	_bis_SR_register(GIE);	// enable interrupts
	// initialize LCD and say hello a few times :-)
	LCD_init();

	LCD_send_string((char*)msg);

	while(1){
		LCD_put(0x80+40); // cursor to line 2, first position
		snprintf(hex, 20, HEX, (int)colourArray[1], (int)colourArray[2], (int)colourArray[0]);
		LCD_send_string(hex);
	}

	_bis_SR_register(LPM0_bits);

	//delay(0); // maximum delay



}
Beispiel #4
0
void main( void){
	BCSCTL1 = CALBC1_1MHZ;
	DCOCTL = CALDCO_1MHZ;
	
	init_wdt();
	init_gpio();
	flash_green_slowly();
	reset_button_input_state();
	_bis_SR_register( GIE + LPM0_bits);
}
Beispiel #5
0
// ===== Main Program =====
void main(){

    WDTCTL = WDTPW + WDTHOLD;       // Stop watchdog timer
    BCSCTL1 = CALBC1_8MHZ;          // 8Mhz calibration for clock
    DCOCTL  = CALDCO_8MHZ;

    init_spi();
    init_wdt();
    init_7seg();

    _bis_SR_register(GIE+LPM0_bits);
}
Beispiel #6
0
int main(void) {
    WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog timer

    BCSCTL1 = CALBC1_8MHZ;    // 8Mhz calibration for clock
    DCOCTL  = CALDCO_8MHZ;

    init_sensors();
    init_wdt();
    init_motors();
    init_lastData();

    _bis_SR_register(GIE+LPM0_bits);	//enable general interrupts and power down CPU
}
Beispiel #7
0
int main() 
{
	uint8_t i;

	delay(64000); // delay before clock slows down, 1000ms * 64

	init_wdt();
	init_blink();
	slow_clock();

	while (1) {
		blink(3+(uint8_t)(rand()>>31)); // 3 + up to 3 blinks
		eyes(OFF);
		sleep(3+(uint8_t)(rand()>>30)); // 3 +  up to 7 seconds
	}
}
Beispiel #8
0
void main()
{
    __disable_interrupt();

    init_core();
    init_device();
    init_wdt();

    __enable_interrupt();

    microrl_init (pointerMicrorl, &serprintf);
    microrl_set_execute_callback (pointerMicrorl, execute);
    microrl_set_complete_callback (pointerMicrorl, complet);
    microrl_set_sigint_callback (pointerMicrorl, sigint);

    init_app_settings();

    print_revision();
    DEBUG_PRINTF("FlashMem: %s %s\n\r",
        get_family_desc_at25df(),
        get_density_desc_at25df());

    enable_default_lis3dh();
    init_tasks();
    init_reco_drift();
    init_can_j1939();

    DEBUG_PRINTF("\r\n\r\n");

    while (1) {
        if (pointerRingBuff->size(pointerRingBuff) > 0) {
            const uint8_t data = pointerRingBuff->get(pointerRingBuff);

            if (!get_proto_type()) {
                microrl_insert_char (pointerMicrorl, data);
            } else {
                sdp_insert_char(data);
            }
        }

        poll_can_msg();

        run_tasks();

        clear_wdt();
    }
}
Beispiel #9
0
void main(){

	WDTCTL = WDTPW + WDTHOLD;       // Stop watchdog timer
	BCSCTL1 = CALBC1_8MHZ;		// 8Mhz calibration for clock
  	DCOCTL  = CALDCO_8MHZ;

  	init_spi();
  	init_wdt();

   	P1DIR &= ~BUTTON;		//set direction
  	P1OUT |= BUTTON;		//set out
  	P1REN |= BUTTON;		//enable pullup resistor - active low

  	//UCB0TXBUF=0x00; 		//set transmit buffer to 0

 	_bis_SR_register(GIE+LPM0_bits);
}
void main(){

	WDTCTL = WDTPW + WDTHOLD;       // Stop watchdog timer
	BCSCTL1 = CALBC1_8MHZ;			// 8Mhz calibration for clock
  	DCOCTL  = CALDCO_8MHZ;

  	init_adc();
  	init_wdt();

  	P1DIR |= 0x01;
  	P1DIR |= BJT_OUT;
  	P1DIR &= ~COM_IN; //set p1.5 as input from sensor_zero
  	P1DIR &= ~RESET_BUTT;

  	P1OUT |= RESET_BUTT;
  	P1REN |= RESET_BUTT;

	_bis_SR_register(GIE+LPM0_bits);
}
Beispiel #11
0
int main()
{
	int Status;

	init_axi_uart();
	init_axi_gpio();
	init_spi();
	init_pendulum_plant();
	init_fifo_queues();
	init_wdt();

	assert_trigger(PRODUCTION);
	set_set_point(0);

	Status = init_interrupt_system();
	if (Status != XST_SUCCESS) {
		xil_printf("Failed intr setup\r\n");
		return XST_FAILURE;
	}

	start_ioi();

	static bool startTAIGA = false;
	static bool assertTrigger = false;

	while(true){
		if(!startTAIGA && read_btn(BTN0)){
			startTAIGA = true;
			start_wdt();
		}

		assert_trigger(startTAIGA & (check_wdt() | assertTrigger));

		supervisor_update_set_point();

		if(check_control_cycle()){
			set_debug(DEBUG2, true);
			reset_control_cycle();

			if((get_alphaR() >= 0 ? get_alphaR():-get_alphaR()) < (20.*pi/180))
				calculateKalmanControlSignal(get_plant_state_instance());
			set_debug(DEBUG2, false);
			supervisor_send_state_vector(get_plant_state_instance()->xhat);
			set_debug(DEBUG2, true);
			if(startTAIGA){
				reset_wdt();
				set_debug(DEBUG4, true);
				if((get_alphaR() >= 0 ? get_alphaR():-get_alphaR()) < (20.*pi/180)){
					if(trivial_trigger_mechanism(get_plant_state_instance())){
						assertTrigger = true;
						set_debug(DEBUG3, true);
					}
					else	set_debug(DEBUG3, false);
				}
				set_debug(DEBUG4, false);
			}
			supervisor_send_tail(get_plant_state_instance()->u, startTAIGA, assertTrigger, check_wdt());
			set_debug(DEBUG2, false);
		}
	}

	return XST_SUCCESS;
}