* 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
47 lines
1.7 KiB
C
47 lines
1.7 KiB
C
#ifndef OPERATING_MODES_H_
|
|
#define OPERATING_MODES_H_
|
|
|
|
extern "C" {
|
|
#include "FreeRTOSConfig.h"
|
|
}
|
|
#include "Buttons.hpp"
|
|
#include "OLED.hpp"
|
|
#include "OperatingModeUtilities.h"
|
|
#include "Settings.h"
|
|
#include "TipThermoModel.h"
|
|
#include "Translation.h"
|
|
#include "cmsis_os.h"
|
|
#include "configuration.h"
|
|
#include "history.hpp"
|
|
#include "main.hpp"
|
|
#include "power.hpp"
|
|
#include "settingsGUI.hpp"
|
|
#include "stdlib.h"
|
|
#include "string.h"
|
|
#ifdef POW_PD
|
|
#include "USBPD.h"
|
|
#include "pd.h"
|
|
#endif
|
|
|
|
// Exposed modes
|
|
enum OperatingMode {
|
|
idle = 0,
|
|
soldering = 1,
|
|
boost = 2,
|
|
sleeping = 3,
|
|
settings = 4,
|
|
debug = 5
|
|
};
|
|
|
|
void performCJCC(void); // Used to calibrate the Cold Junction offset
|
|
void gui_solderingTempAdjust(void); // For adjusting the setpoint temperature of the iron
|
|
int gui_SolderingSleepingMode(bool stayOff, bool autoStarted); // Sleep mode
|
|
void gui_solderingMode(uint8_t jumpToSleep); // Main mode for hot pointy tool
|
|
void gui_solderingProfileMode(); // Profile mode for hot likely-not-so-pointy tool
|
|
void showDebugMenu(void); // Debugging values
|
|
void showPDDebug(void); // Debugging menu that hows PD adaptor info
|
|
void showWarnings(void); // Shows user warnings if required
|
|
void drawHomeScreen(bool buttonLockout) __attribute__((noreturn)); // IDLE / Home screen
|
|
void renderHomeScreenAssets(void); // Called to act as start delay and used to render out flipped images for home screen graphics
|
|
//
|
|
#endif |