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) {
#ifdef TEMP_TMP36
// 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
// 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 /= 993;
return result;
#else
#error only uses TMP36
#endif
}
uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) {
@@ -73,14 +70,12 @@ void unstick_I2C() {
}
uint8_t getButtonA() {
//#TODO
return false;
// return (gpio_input_bit_get(KEY_A_GPIO_Port, KEY_A_Pin) == SET) ? 1 : 0;
uint8_t val = gpio_read(KEY_A_Pin);
return val;
}
uint8_t getButtonB() {
//#TODO
return false;
// return (gpio_input_bit_get(KEY_B_GPIO_Port, KEY_B_Pin) == SET) ? 1 : 0;
uint8_t val = gpio_read(KEY_B_Pin);
return val;
}
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);
}
}
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.
pendingPWM = pulse;
fastPWM = shouldUseFastModePWM;
MSG((char *)"PWM Output %d, %d\r\n", pulse, (int)shouldUseFastModePWM);
}
extern osThreadId POWTaskHandle;
@@ -199,7 +200,7 @@ bool getFUS302IRQLow() {
// 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(); }

View File

@@ -23,8 +23,8 @@ void setup_slow_PWM();
void setup_adc(void);
void hardware_init() {
gpio_set_mode(OLED_RESET_Pin, GPIO_OUTPUT_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_A_Pin, GPIO_INPUT_PD_MODE);
gpio_set_mode(KEY_B_Pin, GPIO_INPUT_PD_MODE);
setup_slow_PWM();
setup_adc();
}

View File

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