void ParkingShield::playTone(int tone, int duration) const
{
    for (long i = 0; i < duration * 1000L; i += tone * 2)
    {
        setBuzzer(true);
        Device::delayMicros(tone);
        setBuzzer(false);
        Device::delayMicros(tone);
    }
}
void ParkingShield::beep(int frequencyInHertz, long timeInMilliseconds) const
{
    int x;
    long delayAmount = (long)(1000000/frequencyInHertz);
    long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2));
    for (x=0;x<loopTime;x++)
    {
        setBuzzer(true);
        Device::delayMicros(delayAmount);
        setBuzzer(false);
        Device::delayMicros(delayAmount);
    }

    Device::delayMillis(20);
}
Beispiel #3
0
void hardware::init()
{
    analogReference(EXTERNAL);
    pinMode(OUTPUT_DISABLE_PIN, OUTPUT);

    pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);

    pinMode(SMPS_VALUE0_PIN, OUTPUT);
    pinMode(SMPS_VALUE1_PIN, OUTPUT);
    pinMode(SMPS_DISABLE_PIN, OUTPUT);

    pinMode(BUZZER_PIN, OUTPUT);

    pinMode(BALANCER1_LOAD_PIN, OUTPUT);
    pinMode(BALANCER2_LOAD_PIN, OUTPUT);
    pinMode(BALANCER3_LOAD_PIN, OUTPUT);
    pinMode(BALANCER4_LOAD_PIN, OUTPUT);
    pinMode(BALANCER5_LOAD_PIN, OUTPUT);
    pinMode(BALANCER6_LOAD_PIN, OUTPUT);

    pinMode(MUX_ADR0_PIN, OUTPUT);
    pinMode(MUX_ADR1_PIN, OUTPUT);
    pinMode(MUX_ADR2_PIN, OUTPUT);
    pinMode(MUX0_Z_D_PIN, INPUT);

    setBatteryOutput(false);
    setFan(false);
    setBuzzer(0);

    lcd.begin(LCD_COLUMNS, LCD_LINES);
    timer.init();

    TimerOne::initialize();
}
Beispiel #4
0
void hardware::initializePins()
{
    setBalancer(0);
    setBatteryOutput(false);
    setBuzzer(0);

    IO::pinMode(BALANCER1_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER2_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER3_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER4_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER5_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER6_LOAD_PIN, OUTPUT);

    IO::pinMode(BUTTON_STOP_PIN, INPUT);
    IO::pinMode(BUTTON_DEC_PIN, INPUT);
    IO::pinMode(BUTTON_INC_PIN, INPUT);
    IO::pinMode(BUTTON_START_PIN, INPUT);
    IO::pinMode(OUTPUT_DISABLE_PIN, OUTPUT);
    IO::pinMode(BUZZER_PIN, OUTPUT);

    IO::pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);


    IO::pinMode(SMPS_VALUE_BUCK_PIN, OUTPUT);
    IO::pinMode(SMPS_VALUE_BOOST_PIN, OUTPUT);
    IO::pinMode(SMPS_DISABLE_PIN, OUTPUT);

}
void hardware::initializePins()
{
    setBatteryOutput(false);
    setFan(false);
    setBuzzer(0);
    setBalancer(0);

    IO::pinMode(BACKLIGHT_PIN, OUTPUT);
    IO::pinMode(OUTPUT_DISABLE_PIN, OUTPUT);
    IO::pinMode(FAN_PIN, OUTPUT);
    IO::pinMode(BUZZER_PIN, OUTPUT);

    IO::pinMode(BALANCER1_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER2_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER3_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER4_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER5_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER6_LOAD_PIN, OUTPUT);
#if MAX_BANANCE_CELLS > 6
    IO::pinMode(BALANCER7_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER8_LOAD_PIN, OUTPUT);
#endif

#ifdef ENABLE_BALANCER_PWR
    IO::pinMode(BALANCER_PWR_ENABLE_PIN, OUTPUT);
#endif

    IO::pinMode(SMPS_VALUE_PIN, OUTPUT);
    IO::pinMode(SMPS_DISABLE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);
}
Beispiel #6
0
void hardware::initialize()
{
    analogReference(EXTERNAL);
    pinMode(OUTPUT_DISABLE_PIN, OUTPUT);

    pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);

    pinMode(BUZZER_PIN, OUTPUT);

    pinMode(SMPS_VALUE_BUCK_PIN, OUTPUT);
    pinMode(SMPS_VALUE_BOOST_PIN, OUTPUT);
    pinMode(SMPS_DISABLE_PIN, OUTPUT);

    setBatteryOutput(false);
    setBuzzer(0);

    lcd.begin(LCD_COLUMNS, LCD_LINES);
    Timer::initialize();
    SMPS::initialize();
    Discharger::initialize();

    TimerOne::initialize();
    adc::initialize();
    AnalogInputs::initialize();
}
Beispiel #7
0
void hardware::initializePins()
{
    setBalancer(0);
    setBatteryOutput(false);
    setBuzzer(0);

    IO::analogReference(EXTERNAL);
    IO::pinMode(OUTPUT_DISABLE_PIN, OUTPUT);

    IO::pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);

    IO::pinMode(BUZZER_PIN, OUTPUT);

    IO::pinMode(SMPS_VALUE_BUCK_PIN, OUTPUT);
    IO::pinMode(SMPS_VALUE_BOOST_PIN, OUTPUT);
    IO::pinMode(SMPS_DISABLE_PIN, OUTPUT);
}
Beispiel #8
0
void hardware::initialize()
{
    IO::pinMode(OUTPUT_DISABLE_PIN, OUTPUT);

    IO::pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);

    IO::pinMode(BUZZER_PIN, OUTPUT);

    IO::pinMode(SMPS_VALUE_BUCK_PIN, OUTPUT);
    IO::pinMode(SMPS_VALUE_BOOST_PIN, OUTPUT);
    IO::pinMode(SMPS_DISABLE_PIN, OUTPUT);

    setBatteryOutput(false);
    setBuzzer(0);

    lcd.begin(LCD_COLUMNS, LCD_LINES);
    adc::initialize();
}
Beispiel #9
0
void hardware::initialize()
{
    IO::pinMode(BACKLIGHT_PIN, OUTPUT);
    IO::pinMode(OUTPUT_DISABLE_PIN, OUTPUT);
    IO::pinMode(FAN_PIN, OUTPUT);
    IO::pinMode(BUZZER_PIN, OUTPUT);

    IO::pinMode(BALANCER1_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER2_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER3_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER4_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER5_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER6_LOAD_PIN, OUTPUT);
#if MAX_BANANCE_CELLS > 6
    IO::pinMode(BALANCER7_LOAD_PIN, OUTPUT);
    IO::pinMode(BALANCER8_LOAD_PIN, OUTPUT);
#endif

#ifdef ENABLE_BALANCER_PWR
    IO::pinMode(BALANCER_PWR_ENABLE_PIN, OUTPUT);
#endif

    IO::pinMode(SMPS_VALUE_PIN, OUTPUT);
    IO::pinMode(SMPS_DISABLE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_VALUE_PIN, OUTPUT);
    IO::pinMode(DISCHARGE_DISABLE_PIN, OUTPUT);

    setBatteryOutput(false);
    setFan(false);
    setBuzzer(0);
    setBalancer(0);

    lcd.begin(LCD_COLUMNS, LCD_LINES);
//    Timer1.initialize(TIMER1_PERIOD_MICROSECONDS);         // initialize timer1, and set a 1/2 second period
    Timer1::initialize();
    adc::initialize();
}