Andrew Boyson / oldheating

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

Committer:
andrewboyson
Date:
Tue May 07 07:42:24 2019 +0000
Revision:
58:d968191f46f2
Updated debounce module

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 58:d968191f46f2 1 #include <stdbool.h>
andrewboyson 58:d968191f46f2 2
andrewboyson 58:d968191f46f2 3
andrewboyson 58:d968191f46f2 4 #include "gpio.h"
andrewboyson 58:d968191f46f2 5 #include "radiator.h"
andrewboyson 58:d968191f46f2 6 #include "program.h"
andrewboyson 58:d968191f46f2 7 #include "mstimer.h"
andrewboyson 58:d968191f46f2 8 #include "hall-pb.h"
andrewboyson 58:d968191f46f2 9
andrewboyson 58:d968191f46f2 10 #define HALL_LED_DIR FIO0DIR(10) // P0.10 == p28;
andrewboyson 58:d968191f46f2 11 #define HALL_LED_PIN FIO0PIN(10)
andrewboyson 58:d968191f46f2 12 #define HALL_LED_SET FIO0SET(10)
andrewboyson 58:d968191f46f2 13 #define HALL_LED_CLR FIO0CLR(10)
andrewboyson 58:d968191f46f2 14
andrewboyson 58:d968191f46f2 15 #define WINTER_FLASH_MS 100
andrewboyson 58:d968191f46f2 16 #define SUMMER_FLASH_MS 500
andrewboyson 58:d968191f46f2 17
andrewboyson 58:d968191f46f2 18 void HallLedInit()
andrewboyson 58:d968191f46f2 19 {
andrewboyson 58:d968191f46f2 20 HALL_LED_DIR = 1; //Set the direction to 1 == output
andrewboyson 58:d968191f46f2 21 }
andrewboyson 58:d968191f46f2 22 void HallLedMain()
andrewboyson 58:d968191f46f2 23 {
andrewboyson 58:d968191f46f2 24 static uint32_t hallLedFlashMsTimer = 0;
andrewboyson 58:d968191f46f2 25 if (HallPbOverrideMode)
andrewboyson 58:d968191f46f2 26 {
andrewboyson 58:d968191f46f2 27 if (RadiatorPump) HALL_LED_SET; else HALL_LED_CLR;
andrewboyson 58:d968191f46f2 28 hallLedFlashMsTimer = MsTimerCount;
andrewboyson 58:d968191f46f2 29 }
andrewboyson 58:d968191f46f2 30 else
andrewboyson 58:d968191f46f2 31 {
andrewboyson 58:d968191f46f2 32 int flashRate = RadiatorGetWinter() ? WINTER_FLASH_MS : SUMMER_FLASH_MS;
andrewboyson 58:d968191f46f2 33 if (MsTimerRepetitive(&hallLedFlashMsTimer, flashRate))
andrewboyson 58:d968191f46f2 34 {
andrewboyson 58:d968191f46f2 35 static bool flash = false;
andrewboyson 58:d968191f46f2 36 flash = !flash;
andrewboyson 58:d968191f46f2 37 if (flash) HALL_LED_SET; else HALL_LED_CLR;
andrewboyson 58:d968191f46f2 38 }
andrewboyson 58:d968191f46f2 39 }
andrewboyson 58:d968191f46f2 40 }