Portduino work (#3049)

* Move to Portduino's getMacAddr()

* Add ST7735/S screen support

* Push Raspbian support into native target

* Remove latent pigpio references.

* CardKB defensive programming

* Adds configurable spidev

* Fixes to build on Fedora 40

* ENUMs are not #defines. Pull latest portduino

* Add more configuration options for SPI displays

* Add config.yaml option to set DIO3_TCXO_VOLTAGE

* change tft clear() to fillScreen()
Maintains compatability with ESPI driver.

* Adds TXen and RXen pins to portduino

* Add -c --config options to specify config file

* Fail when a specified config file is unavailable

---------

Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
Jonathan Bennett
2024-01-12 02:00:31 -06:00
committed by GitHub
parent 7e53a96ee5
commit 4a867c81c0
30 changed files with 279 additions and 250 deletions

View File

@@ -1,7 +1,6 @@
#if ARCH_RASPBERRY_PI
#include "LinuxInput.h"
#include "configuration.h"
#if ARCH_PORTDUINO
#include "LinuxInput.h"
#include "platform/portduino/PortduinoGlue.h"
#include <assert.h>
#include <ctype.h>

View File

@@ -1,5 +1,5 @@
#pragma once
#if ARCH_RASPBERRY_PI
#if ARCH_PORTDUINO
#include "InputBroker.h"
#include "concurrency/OSThread.h"
#include <assert.h>

View File

@@ -1,6 +1,7 @@
#if ARCH_RASPBERRY_PI
#include "LinuxInputImpl.h"
#include "configuration.h"
#if ARCH_PORTDUINO
#include "InputBroker.h"
#include "LinuxInputImpl.h"
LinuxInputImpl *aLinuxInputImpl;

View File

@@ -1,4 +1,4 @@
#ifdef ARCH_RASPBERRY_PI
#ifdef ARCH_PORTDUINO
#pragma once
#include "LinuxInput.h"
#include "main.h"

View File

@@ -4,7 +4,7 @@
#include "configuration.h"
#include "modules/ExternalNotificationModule.h"
#ifdef ARCH_RASPBERRY_PI
#ifdef ARCH_PORTDUINO
#include "platform/portduino/PortduinoGlue.h"
#endif
@@ -17,7 +17,7 @@ TouchScreenImpl1::TouchScreenImpl1(uint16_t width, uint16_t height, bool (*getTo
void TouchScreenImpl1::init()
{
#if ARCH_RASPBERRY_PI
#if ARCH_PORTDUINO
if (settingsMap[touchscreenModule]) {
TouchScreenBase::init(true);
inputBroker->registerSource(this);

View File

@@ -187,7 +187,7 @@ int32_t KbI2cBase::runOnce()
i2cBus->requestFrom((int)cardkb_found.address, 1);
while (i2cBus->available()) {
if (i2cBus->available()) {
char c = i2cBus->read();
InputEvent e;
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_NONE;
@@ -222,7 +222,11 @@ int32_t KbI2cBase::runOnce()
case 0x00: // nopress
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_NONE;
break;
default: // all other keys
default: // all other keys
if (c > 127) { // bogus key value
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_NONE;
break;
}
e.inputEvent = ANYKEY;
e.kbchar = c;
break;
@@ -238,4 +242,4 @@ int32_t KbI2cBase::runOnce()
LOG_WARN("Unknown kb_model 0x%02x\n", kb_model);
}
return 300;
}
}