void setup() {
	// set up the encoder interrupt to detect falling edge on digital pin 2
	attachInterrupt(0, encoder_interrupt, FALLING);
	Serial.begin(115200);
	Serial.write("<h>time\tspeed\tcurrent\tcurrent_sense\tvoltage\tvoltage_sense</h>\n");
	Serial.write("<u>ms\trpm\tmA\tcounts\tvolts\tcts</u>\n");
  pinMode(LED_PWM_PIN, OUTPUT);
  pinMode(VOLT_PIN, INPUT);
  pinMode(INTERRUPTER_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  pinMode(BTN_PIN, INPUT);

  LcdInitialize();
  gotoXY(0,0);
  LcdClear();
  LcdString((char*)"Current:");

  gotoXY(0,2);
  LcdString((char*)"Speed:");

  gotoXY(0,4);
  LcdString((char*)"Voltage:");

  blink_clock = millis();

  tach_enc.min_hertz = 5;
  tach_enc.max_period = 5000;
  tach_enc.pin_num = INTERRUPTER_PIN;
  tach_enc.debounce_min = 5;
  tach_enc.alpha = 800;
  tach_enc.cts_per_rev = 1;
  tach_enc.hertz = 0;

  button.button_pin = BTN_PIN;
  button.button_state = btnDown;

//  pulser.carrier_clock = 0;
//  pulser.carrier_period = 5000;
//  pulser.step_clock = 0;
//  pulser.pulse_up_period = 1000;
//  pulser.pulse_down_period = 3500;
//  pulser.step_period_up = pulser.pulse_up_period / impulse_num_samples;
//  pulser.step_period_down = pulser.pulse_down_period / impulse_num_samples;
//  pulser.index = 0;
//  pulser.offset_time = 0; // start pulse at beginning of each carrier period

  volt_sensor.max_volts = 68000; // mV at sensor saturation (depends on pot adj)

//  init_impulse(impulse_array, impulse_num_samples, 255);


}
Exemplo n.º 2
0
void main(void)
{
  G_u32SystemFlags |= _SYSTEM_INITIALIZING;

  /* Low level initialization */
  WatchDogSetup(); /* During development, set to not reset processor if timeout */
  ClockSetup();
  GpioSetup();
  InterruptSetup();
  SysTickSetup();

  /* Driver initialization */
  MessagingInitialize();
  UartInitialize();
  DebugInitialize();

  /* Debug messages through DebugPrintf() are available from here */

  SspInitialize();
  TWIInitialize();
  
  LcdInitialize();
  LedInitialize();
  ButtonInitialize();
   
  CapTouchInitialize();
  AntInitialize();
  
  /* Application initialization */
  UserAppInitialize();
  
  /* Exit initialization */
  SystemStatusReport();
  G_u32SystemFlags &= ~_SYSTEM_INITIALIZING;
   
  /* Super loop */  
  while(1)
  {
    WATCHDOG_BONE();
    
    /* Drivers */
    LedUpdate();
    ButtonRunActiveState();
    UartRunActiveState();
    SspRunActiveState();
    TWIRunActiveState();
    CapTouchRunActiveState(); /* This function violates 1ms loop timing every 25ms */ 
    MessagingRunActiveState();
    DebugRunActiveState();
    LcdRunActiveState();
    AntRunActiveState();

    /* Applications */
    UserAppRunActiveState();
        
    /* System sleep*/
    HEARTBEAT_OFF();
    SystemSleep();
    HEARTBEAT_ON();
    
  } /* end while(1) main super loop */
  
} /* end main() */