PinMap with namespace and constexpr

This commit is contained in:
hubmartin
2021-08-03 20:32:23 +02:00
parent 28abeae21b
commit b7aa04e1f5
13 changed files with 96 additions and 87 deletions

View File

@@ -12,12 +12,12 @@ Battery::Battery() {
}
void Battery::Init() {
nrf_gpio_cfg_input(chargingPin, static_cast<nrf_gpio_pin_pull_t> GPIO_PIN_CNF_PULL_Pullup);
nrf_gpio_cfg_input(PinMap::Charging, static_cast<nrf_gpio_pin_pull_t> GPIO_PIN_CNF_PULL_Pullup);
}
void Battery::Update() {
isCharging = !nrf_gpio_pin_read(chargingPin);
isPowerPresent = !nrf_gpio_pin_read(powerPresentPin);
isCharging = !nrf_gpio_pin_read(PinMap::Charging);
isPowerPresent = !nrf_gpio_pin_read(PinMap::PowerPresent);
if (isReading) {
return;

View File

@@ -73,8 +73,6 @@ namespace Pinetime {
static constexpr uint8_t percentRemainingSamples = 5;
CircBuffer<percentRemainingSamples> percentRemainingBuffer {};
static constexpr uint32_t chargingPin = PINMAP_CHARGING_PIN;
static constexpr uint32_t powerPresentPin = 19;
static constexpr nrf_saadc_input_t batteryVoltageAdcInput = NRF_SAADC_INPUT_AIN7;
uint16_t voltage = 0;
int percentRemaining = -1;

View File

@@ -1,13 +1,13 @@
#include "BrightnessController.h"
#include <hal/nrf_gpio.h>
#include "displayapp/screens/Symbols.h"
#include "drivers/PinMap.h"
using namespace Pinetime::Controllers;
void BrightnessController::Init() {
nrf_gpio_cfg_output(pinLcdBacklight1);
nrf_gpio_cfg_output(pinLcdBacklight2);
nrf_gpio_cfg_output(pinLcdBacklight3);
nrf_gpio_cfg_output(PinMap::LcdBacklight1);
nrf_gpio_cfg_output(PinMap::LcdBacklight2);
nrf_gpio_cfg_output(PinMap::LcdBacklight3);
Set(level);
}
@@ -16,24 +16,24 @@ void BrightnessController::Set(BrightnessController::Levels level) {
switch (level) {
default:
case Levels::High:
nrf_gpio_pin_clear(pinLcdBacklight1);
nrf_gpio_pin_clear(pinLcdBacklight2);
nrf_gpio_pin_clear(pinLcdBacklight3);
nrf_gpio_pin_clear(PinMap::LcdBacklight1);
nrf_gpio_pin_clear(PinMap::LcdBacklight2);
nrf_gpio_pin_clear(PinMap::LcdBacklight3);
break;
case Levels::Medium:
nrf_gpio_pin_clear(pinLcdBacklight1);
nrf_gpio_pin_clear(pinLcdBacklight2);
nrf_gpio_pin_set(pinLcdBacklight3);
nrf_gpio_pin_clear(PinMap::LcdBacklight1);
nrf_gpio_pin_clear(PinMap::LcdBacklight2);
nrf_gpio_pin_set(PinMap::LcdBacklight3);
break;
case Levels::Low:
nrf_gpio_pin_clear(pinLcdBacklight1);
nrf_gpio_pin_set(pinLcdBacklight2);
nrf_gpio_pin_set(pinLcdBacklight3);
nrf_gpio_pin_clear(PinMap::LcdBacklight1);
nrf_gpio_pin_set(PinMap::LcdBacklight2);
nrf_gpio_pin_set(PinMap::LcdBacklight3);
break;
case Levels::Off:
nrf_gpio_pin_set(pinLcdBacklight1);
nrf_gpio_pin_set(pinLcdBacklight2);
nrf_gpio_pin_set(pinLcdBacklight3);
nrf_gpio_pin_set(PinMap::LcdBacklight1);
nrf_gpio_pin_set(PinMap::LcdBacklight2);
nrf_gpio_pin_set(PinMap::LcdBacklight3);
break;
}
}

View File

@@ -22,9 +22,6 @@ namespace Pinetime {
const char* ToString();
private:
static constexpr uint8_t pinLcdBacklight1 = 14;
static constexpr uint8_t pinLcdBacklight2 = 22;
static constexpr uint8_t pinLcdBacklight3 = 23;
Levels level = Levels::High;
Levels backupLevel = Levels::High;
};

View File

@@ -2,6 +2,7 @@
#include <hal/nrf_gpio.h>
#include "systemtask/SystemTask.h"
#include "app_timer.h"
#include "drivers/PinMap.h"
APP_TIMER_DEF(vibTimer);
@@ -11,8 +12,8 @@ MotorController::MotorController(Controllers::Settings& settingsController) : se
}
void MotorController::Init() {
nrf_gpio_cfg_output(pinMotor);
nrf_gpio_pin_set(pinMotor);
nrf_gpio_cfg_output(PinMap::Motor);
nrf_gpio_pin_set(PinMap::Motor);
app_timer_create(&vibTimer, APP_TIMER_MODE_SINGLE_SHOT, vibrate);
}
@@ -21,11 +22,11 @@ void MotorController::SetDuration(uint8_t motorDuration) {
if (settingsController.GetVibrationStatus() == Controllers::Settings::Vibration::OFF)
return;
nrf_gpio_pin_clear(pinMotor);
nrf_gpio_pin_clear(PinMap::Motor);
/* Start timer for motorDuration miliseconds and timer triggers vibrate() when it finishes*/
app_timer_start(vibTimer, APP_TIMER_TICKS(motorDuration), NULL);
}
void MotorController::vibrate(void* p_context) {
nrf_gpio_pin_set(pinMotor);
nrf_gpio_pin_set(PinMap::Motor);
}

View File

@@ -6,7 +6,6 @@
namespace Pinetime {
namespace Controllers {
static constexpr uint8_t pinMotor = 16;
class MotorController {
public: