Ejemplo n.º 1
0
int main(void) {
  WDTCTL = WDTPW | WDTHOLD;             // Stop watchdog timer

  clockSetup();
  
  TACCTL0 = CCIE;                           // Enable CCR0 interrupt
  TACCR0 = 62500;                           // Setting CCRO value
  TACTL = TASSEL_2 + ID_3 + MC_3;           // SMCLK/8, up/down mode

  
  P1DIR |= BIT0;

  __bis_SR_register(LPM0_bits + GIE);
  return 0;
}
Ejemplo n.º 2
0
void main(void) {
	WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

	clockSetup();
	portInit();

	initializeB0I2C();
//	int myConfig = ADS_OS  | ADS_PGA_2 | ADS_128Hz | ADS_ALERT_NO | ADS_CONV1;
	int myConfig = ADS_PGA_2 | ADS_475Hz | ADS_ALERT_NO | ADS_CONVC;

	myADC = registerADS(ADS_01, ADS_DEFAULTC);
//	myADC = registerADS(ADS_01,ADS_DEFAULTC);
	setADS(myADC);
	_enable_interrupts();
	startADS();

	while (1) {
		a = readADS();
	}
}
Ejemplo n.º 3
0
int main(void) {
    WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT
    directionSetup();
    clockSetup();

    interuptPin();
    __enable_interrupt();
    timerA0Setup();
	__delay_cycles(250000);
	int sensorvalue;

while(1){

		//while(!(P2IN &= BIT6)){

			sensorvalue = measure();
			//		trigPin ^= trigPin_nr;  // toggle output pin
			//		P2IFG &= ~BIT6;  				// clear interruptflag
			__delay_cycles(200000);

		//}
	}
}
Ejemplo n.º 4
0
int main(void) {
	clockSetup();
	ioSetup();
	adcSetup();

	while (1) {
		adcSample();
		avg_adc = ((adc[0]+adc[1]+adc[2]+adc[3]+adc[4]+adc[5]+adc[6]+adc[7]+adc[8]+adc[9]) / 10);;
		findClosest();
		if (distance < 20) {
			if (alarm_state == STATE_DISARMED) state = 0;
			else {
				if (state == 0) {
					alarm_state = STATE_ALERT;
					memset(txString, 0, 80);
					sprintf(txString, "%s%sSystem Status: %s", clear_screen, line_1, ALERT);
					i = 0;
					state = STATE_CHANGE;
					UC0IE |= UCA0TXIE; // Enable USCI_A0 TX interrupt
					UCA0TXBUF = txString[i++];
				}
				P2OUT |= ALERTLED;
				P2OUT &= ~(SAFELED + WARNLED);
				change_lights = 1;
			}

		} else if (change_lights == 1) {
			if (alarm_state == STATE_ARMED) {
				P2OUT |= SAFELED;
				P2OUT &= ~(ALERTLED + WARNLED);
			} else if (alarm_state == STATE_DISARMED) {
				P2OUT |= WARNLED;
				P2OUT &= ~(ALERTLED + SAFELED);
			}
		}
	}
}
Ejemplo n.º 5
0
void setup(){
//   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); // 0 bits for preemption, 4 bits for subpriority
  /* Set up interrupt controller: 2 bits for priority (0-3),
   * 2 bits for sub-priority (0-3). Priorities control which
   * interrupts are allowed to preempt one another.
   */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  /* Increase SysTick priority to be higher than USB interrupt
   * priority. USB code stalls inside interrupt and we can't let
   * this throw off the SysTick timer.
   */
  NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, SYSTICK_PRIORITY, SYSTICK_SUBPRIORITY));
  NVIC_SetPriority(DMA1_Stream3_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 0, 0));
  NVIC_SetPriority(DMA1_Stream4_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 0, 0));
  NVIC_SetPriority(SPI2_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 1, 0));
  NVIC_SetPriority(ADC_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 2, 0));

  ledSetup();
  setLed(RED);

  /* check if we need to DFU boot */
  configureDigitalInput(SWITCH_B_PORT, SWITCH_B_PIN, GPIO_PuPd_UP);
  if(isPushButtonPressed())
    jump_to_bootloader();

  adcSetup();
  clockSetup();
  setupSwitchA(footSwitchCallback);
  setupSwitchB(pushButtonCallback);

  settings.init();
  midi.init(MIDI_CHANNEL);
  patches.init();

#ifdef EXPRESSION_PEDAL
#ifndef OWLMODULAR
  setupExpressionPedal();
#endif
#endif

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); // DEBUG
  configureDigitalOutput(GPIOB, GPIO_Pin_1); // PB1, DEBUG LED
  debugClear();

#ifdef DEBUG_AUDIO
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // DEBUG
  configureDigitalOutput(GPIOA, GPIO_Pin_7); // PA7 DEBUG
  configureDigitalOutput(GPIOC, GPIO_Pin_5); // PC5 DEBUG
  clearPin(GPIOC, GPIO_Pin_5); // DEBUG
  clearPin(GPIOA, GPIO_Pin_7); // DEBUG
#endif /* DEBUG_AUDIO */
	
  usb_init();

#if SERIAL_PORT == 1
  setupSerialPort1(115200);
#elif SERIAL_PORT == 2
  setupSerialPort2(115200); // expression pedal
#warning expression pedal jack configured as serial port
#ifdef EXPRESSION_PEDAL
#error invalid configuration
#endif
#endif

#ifdef OWLMODULAR
  configureDigitalInput(GPIOB, GPIO_Pin_6, GPIO_PuPd_NOPULL);  // PB6 OWL Modular digital input
  configureDigitalOutput(GPIOB, GPIO_Pin_7);  // PB7 OWL Modular digital output
  setPin(GPIOB, GPIO_Pin_7); // PB7 OWL Modular digital output
#endif

  codec.setup();
  codec.init(settings);

  printString("startup\n");
  updateBypassMode();

  codec.start();
}