1
0
forked from me/IronOS
Files
IronOS/source/Core/Inc/main.hpp
Ben V. Brown 286afad919 S60 Support (#1692)
* Mock S60

* cleanup

* Start refactor of OLED init

* Setup timers roughly

* Set Vector table offset correctly

Update system_stm32f1xx.c

* Update OLED.cpp

* Update stm32f1xx_hal_msp.c

* Update configuration.h

* I2C init before GPIO

From Errata

Update stm32f1xx_hal_msp.c

Update Software_I2C.h

Allow no hardware I2C

* I2C BB run bus unlock at init

* cleanups

* Software I2C for now

* Mildly more graceful Interpolate

* Handle is powered by DC

Update Power.cpp

Update drawPowerSourceIcon.cpp

Update configuration.h

Update Setup.cpp

* Cleanup HomeScreen

* Segment remap oled at init

* Cleanup

* Update MOVThread.cpp

* Fix PWM Init

* Fix adc2 trigger

* Update configs

* Fixup warning

* Saner default config

* Update ThermoModel.cpp

* Util for current@voltage

* Hub238 warning

* Add hub238 handling in power mode

* Update USBPDDebug_FUSB.cpp

* HUSB238 debug

* Hook PSU Limit

* Use wrapping section of GRAM for scroll

Update OLED.hpp

* Update NTC table

* Fix HUB voltage picker

* Cleanup

* Larger tip filter

* Calibrate in a bunch closer

Update ThermoModel.cpp

* Update configuration.h

* Update HUB238.cpp

* Update configuration.h

* Movement Pin

* Update BSP.cpp

* tim2 irq

* Rough timer conversion (adc broken) but movement working

* Fix tim2 start

* Faster base PWM

* Ensure utils grabs config

* Add wattage limiter tolerance for device

* Speed up PWM and enable PWM current limiting

* tune for 12v

* Prevent start until PD done

* Update configuration.h

* Add HUB238 check for have re-negotiated

* Adjust timer to avoid noise when its possible
2023-06-03 20:05:31 +10:00

41 lines
1003 B
C++

#ifndef __MAIN_H
#define __MAIN_H
#include "OLED.hpp"
#include "Setup.h"
#include <stdint.h>
extern volatile uint32_t currentTempTargetDegC;
extern bool settingsWereReset;
extern bool usb_pd_available;
#ifdef __cplusplus
extern "C" {
#endif
void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName);
// Threads
void startGUITask(void const *argument);
void startPIDTask(void const *argument);
void startMOVTask(void const *argument);
void startPOWTask(void const *argument);
extern TaskHandle_t pidTaskNotification;
extern int32_t powerSupplyWattageLimit;
extern uint8_t accelInit;
extern TickType_t lastMovementTime;
#ifdef __cplusplus
}
// Accelerometer type
enum class AccelType {
Scanning = 0,
None = 1,
MMA = 2,
LIS = 3,
BMA = 4,
MSA = 5,
SC7 = 6,
GPIO = 7,
};
extern AccelType DetectedAccelerometerVersion;
#endif
#endif /* __MAIN_H */