mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-02 20:05:52 +00:00
Add GPIO edge for Native Trackball/Joystick (#7212)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
parent
81828c6244
commit
b02e58521d
@ -22,5 +22,5 @@ Input:
|
|||||||
TrackballLeft: 5
|
TrackballLeft: 5
|
||||||
TrackballRight: 26
|
TrackballRight: 26
|
||||||
TrackballPress: 13
|
TrackballPress: 13
|
||||||
|
TrackballDirection: FALLING
|
||||||
# User: 21
|
# User: 21
|
||||||
|
@ -4,8 +4,13 @@
|
|||||||
#include "mesh/NodeDB.h"
|
#include "mesh/NodeDB.h"
|
||||||
|
|
||||||
#ifndef TB_DIRECTION
|
#ifndef TB_DIRECTION
|
||||||
|
#if ARCH_PORTDUINO
|
||||||
|
#include "PortduinoGlue.h"
|
||||||
|
#define TB_DIRECTION (PinStatus) settingsMap[tbDirection]
|
||||||
|
#else
|
||||||
#define TB_DIRECTION RISING
|
#define TB_DIRECTION RISING
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
class TrackballInterruptBase : public Observable<const InputEvent *>, public concurrency::OSThread
|
class TrackballInterruptBase : public Observable<const InputEvent *>, public concurrency::OSThread
|
||||||
{
|
{
|
||||||
|
@ -642,6 +642,11 @@ bool loadConfig(const char *configPath)
|
|||||||
settingsMap[tbLeftPin] = yamlConfig["Input"]["TrackballLeft"].as<int>(RADIOLIB_NC);
|
settingsMap[tbLeftPin] = yamlConfig["Input"]["TrackballLeft"].as<int>(RADIOLIB_NC);
|
||||||
settingsMap[tbRightPin] = yamlConfig["Input"]["TrackballRight"].as<int>(RADIOLIB_NC);
|
settingsMap[tbRightPin] = yamlConfig["Input"]["TrackballRight"].as<int>(RADIOLIB_NC);
|
||||||
settingsMap[tbPressPin] = yamlConfig["Input"]["TrackballPress"].as<int>(RADIOLIB_NC);
|
settingsMap[tbPressPin] = yamlConfig["Input"]["TrackballPress"].as<int>(RADIOLIB_NC);
|
||||||
|
if (yamlConfig["Input"]["TrackballDirection"].as<std::string>("RISING") == "RISING") {
|
||||||
|
settingsMap[tbDirection] = 4;
|
||||||
|
} else if (yamlConfig["Input"]["TrackballDirection"].as<std::string>("RISING") == "FALLING") {
|
||||||
|
settingsMap[tbDirection] = 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (yamlConfig["Webserver"]) {
|
if (yamlConfig["Webserver"]) {
|
||||||
|
@ -63,6 +63,7 @@ enum configNames {
|
|||||||
tbLeftPin,
|
tbLeftPin,
|
||||||
tbRightPin,
|
tbRightPin,
|
||||||
tbPressPin,
|
tbPressPin,
|
||||||
|
tbDirection,
|
||||||
spidev,
|
spidev,
|
||||||
spiSpeed,
|
spiSpeed,
|
||||||
i2cdev,
|
i2cdev,
|
||||||
|
Loading…
Reference in New Issue
Block a user