1
0
forked from me/IronOS

Buttons working

This commit is contained in:
Ben V. Brown
2022-04-18 19:46:47 +10:00
parent 24c424c9d8
commit 5edd735f72
4 changed files with 11 additions and 14 deletions

View File

@@ -22,7 +22,7 @@ void resetWatchdog() {
} }
uint16_t getHandleTemperature(uint8_t sample) { uint16_t getHandleTemperature(uint8_t sample) {
#ifdef TEMP_TMP36
// We return the current handle temperature in X10 C // We return the current handle temperature in X10 C
// TMP36 in handle, 0.5V offset and then 10mV per deg C (0.75V @ 25C for // TMP36 in handle, 0.5V offset and then 10mV per deg C (0.75V @ 25C for
// example) STM32 = 4096 count @ 3.3V input -> But We oversample by 32/(2^2) = // example) STM32 = 4096 count @ 3.3V input -> But We oversample by 32/(2^2) =
@@ -37,9 +37,6 @@ uint16_t getHandleTemperature(uint8_t sample) {
result *= 100; result *= 100;
result /= 993; result /= 993;
return result; return result;
#else
#error only uses TMP36
#endif
} }
uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) { uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) {
@@ -73,14 +70,12 @@ void unstick_I2C() {
} }
uint8_t getButtonA() { uint8_t getButtonA() {
//#TODO uint8_t val = gpio_read(KEY_A_Pin);
return false; return val;
// return (gpio_input_bit_get(KEY_A_GPIO_Port, KEY_A_Pin) == SET) ? 1 : 0;
} }
uint8_t getButtonB() { uint8_t getButtonB() {
//#TODO uint8_t val = gpio_read(KEY_B_Pin);
return false; return val;
// return (gpio_input_bit_get(KEY_B_GPIO_Port, KEY_B_Pin) == SET) ? 1 : 0;
} }
void reboot() { void reboot() {

View File

@@ -131,7 +131,7 @@ void timer0_irq_callback(struct device *dev, void *args, uint32_t size, uint32_t
portYIELD_FROM_ISR(xHigherPriorityTaskWoken); portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
} }
} }
MSG((char *)"timer event comp2! \r\n"); // MSG((char *)"timer event comp2! \r\n");
} }
} }
@@ -173,6 +173,7 @@ void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM) {
// disabled if the PID task is not scheduled often enough. // disabled if the PID task is not scheduled often enough.
pendingPWM = pulse; pendingPWM = pulse;
fastPWM = shouldUseFastModePWM; fastPWM = shouldUseFastModePWM;
MSG((char *)"PWM Output %d, %d\r\n", pulse, (int)shouldUseFastModePWM);
} }
extern osThreadId POWTaskHandle; extern osThreadId POWTaskHandle;
@@ -199,7 +200,7 @@ bool getFUS302IRQLow() {
// return (RESET == gpio_input_bit_get(FUSB302_IRQ_GPIO_Port, FUSB302_IRQ_Pin)); // return (RESET == gpio_input_bit_get(FUSB302_IRQ_GPIO_Port, FUSB302_IRQ_Pin));
} }
uint16_t getADCHandleTemp(uint8_t sample) { return ADC_Temp.average(); } uint16_t getADCHandleTemp(uint8_t sample) { return ADC_Temp.average() >> 1; }
uint16_t getADCVin(uint8_t sample) { return ADC_Vin.average(); } uint16_t getADCVin(uint8_t sample) { return ADC_Vin.average(); }

View File

@@ -23,8 +23,8 @@ void setup_slow_PWM();
void setup_adc(void); void setup_adc(void);
void hardware_init() { void hardware_init() {
gpio_set_mode(OLED_RESET_Pin, GPIO_OUTPUT_MODE); gpio_set_mode(OLED_RESET_Pin, GPIO_OUTPUT_MODE);
// gpio_set_mode(KEY_A_Pin, GPIO_INPUT_PD_MODE); gpio_set_mode(KEY_A_Pin, GPIO_INPUT_PD_MODE);
// gpio_set_mode(KEY_B_Pin, GPIO_INPUT_PD_MODE); gpio_set_mode(KEY_B_Pin, GPIO_INPUT_PD_MODE);
setup_slow_PWM(); setup_slow_PWM();
setup_adc(); setup_adc();
} }

View File

@@ -896,6 +896,7 @@ void startGUITask(void const *argument) {
for (;;) { for (;;) {
ButtonState buttons = getButtonState(); ButtonState buttons = getButtonState();
MSG((char *)"Buttons %d\r\n", int(buttons));
if (buttons != BUTTON_NONE) { if (buttons != BUTTON_NONE) {
OLED::setDisplayState(OLED::DisplayState::ON); OLED::setDisplayState(OLED::DisplayState::ON);
} }