update code for v1.1

This commit is contained in:
2021-05-08 12:50:25 +02:00
parent 6853c220db
commit 47c5c06191
5 changed files with 58 additions and 34 deletions

View File

@@ -15,6 +15,11 @@ upload_port = stlink
debug_tool = stlink
lib_ldf_mode = deep+
[env:LedBoardV11]
board = STM32L031K6
build_flags =
-DHARDWAREVERSION=11
[env:LedBoardV10]
board = STM32L031K6
build_flags =
@@ -23,4 +28,5 @@ build_flags =
[env:ledboard_PROTO]
board = nucleo_l031K6
build_flags =
-DHARDWAREVERSION=09
-DHARDWAREVERSION=09

View File

@@ -61,27 +61,27 @@
#elif HARDWAREVERSION==11
#define LED3 PB2
#define LED2 PB8
#define LED1 PB7
#define LED3 PB6
#define LED2 PB7
#define LED1 PB2
#define DETECT3 PA6
#define DETECT2 PA5
#define DETECT1 PA4
#define SWITCH3 PA7 //A6 TOGGLE1
#define SWITCH32 PA2 //A7 MOMENTARY1
#define SWITCH2 PA1 //A1 TOGGLE1
#define SWITCH22 PA3 //A2 MOMENTARY1
#define SWITCH1 PB6 //D11 TOGGLE1
#define SWITCH12 PB5 //D12 MOMENTARY1
#define SWITCH3 PB5 // TOGGLE3
#define SWITCH32 PB4 // MOMENTARY3
#define SWITCH2 PA1 // TOGGLE2
#define SWITCH22 PA3 // MOMENTARY2
#define SWITCH1 PA7 // TOGGLE1
#define SWITCH12 PA9 // MOMENTARY1
#define LD3LED PB3
#define WAKEUPPIN PA2
#define BTN_PWR PA2
#define PW_HOLD PA10
#define VBATTPIN PA0 //A0 VBATT
#define MEAS_EN PA8
#define R12 4.7
#define R13 10
#define MEASTRIGGER PA8
#define REDLEDRES
#define YELLOWLEDRES

View File

@@ -106,8 +106,7 @@ void setup()
{
initLeds();
initButtons();
initLowPower();
initBattery();
initPower();
initDetectLed();
initMagicSwitchBoard();

View File

@@ -7,13 +7,18 @@
#ifdef VBATTPIN
#include "Battery.h"
Battery battery(VBATTMIN, VBATTMAX, VBATTPIN);
Battery battery(VBATTMIN, VBATTMAX, VBATTPIN);
#endif
void initBattery(void)
{
#ifdef VBATTPIN
battery.begin(VBATTREF, (R12+R13)/R13); //R1 = 220K, R2 = 100K, factor = (R1+R2)/R2
#ifdef MEAS_EN
battery.begin(VBATTREF, (R12 + R13) / R13); //R1 = 220K, R2 = 100K, factor = (R1+R2)/R2
battery.onDemand(MEAS_EN, HIGH);
#else
battery.begin(VBATTREF, (R12 + R13) / R13); //R1 = 220K, R2 = 100K, factor = (R1+R2)/R2
#endif
#endif
}
@@ -21,19 +26,19 @@ void batterydisplay(void)
{
#ifdef VBATTPIN
uint16_t currentlevel = battery.level();
if (currentlevel > 90)
{
turnOnLed(3);
}
if (currentlevel > 50)
{
turnOnLed(2);
}
if (currentlevel > 20)
{
turnOnLed(1);
}
if (currentlevel > 90)
{
turnOnLed(3);
}
if (currentlevel > 50)
{
turnOnLed(2);
}
if (currentlevel > 20)
{
turnOnLed(1);
}
#endif
}
@@ -43,7 +48,7 @@ void batteryCheck(void)
#ifdef VBATTPIN
if (battery.voltage() < VBATTMIN)
{
for( int i = 0; i < 10;i++)
for (int i = 0; i < 10; i++)
{
turnOnLed(1);
delay(300);
@@ -56,15 +61,27 @@ void batteryCheck(void)
#endif
}
void initShutdown(void)
{
#ifdef PW_HOLD
pinMode(PW_HOLD, OUTPUT);
pinMode(BTN_PWR, INPUT);
digitalWrite(PW_HOLD, HIGH);
#endif
}
//low power
void initLowPower(void)
void initPower(void)
{
LowPower_init();
initBattery();
}
void shutdown(void)
{
LowPower_shutdown();
delay(2000);
//digitalWrite()
}
void HandlePower(void)
@@ -73,6 +90,9 @@ void HandlePower(void)
batteryCheck();
}
void HandlePowerOn(void)
{
}
void HandleTimeOut(void)
{

View File

@@ -1,12 +1,11 @@
#pragma once
//battery
void initBattery(void);
void batterydisplay(void);
void batteryCheck(void);
//low power
void initLowPower(void);
void initPower(void);
void shutdown(void);
void HandleTimeOut(void);
void HandlePower(void);