Finalized PINMAP

This commit is contained in:
Emanuele Trabattoni
2026-04-09 15:54:59 +02:00
parent 155f58a347
commit 575730a340
6 changed files with 61 additions and 83 deletions

View File

@@ -11,7 +11,9 @@
<header class="page-header"> <header class="page-header">
<div class="header-content"> <div class="header-content">
<img src="logo_astro_dev.svg" alt="Astro Tecnologie" class="logo"> <img src="logo_astro_dev.svg" alt="Astro Tecnologie" class="logo">
<h1>Ignition Box Monitor</h1> </div>
<div>
<h1>Rotax Ignition Box Monitor</h1>
</div> </div>
</header> </header>

View File

@@ -1,6 +1,6 @@
:root { :root {
--primary-dark: #0a1929; --primary-dark: #0a1929;
--primary-blue: #0144a8; --primary-blue: #003585;
--accent-blue: #1e88e5; --accent-blue: #1e88e5;
--light-bg: #f5f7fa; --light-bg: #f5f7fa;
--border-color: #d0d6dd; --border-color: #d0d6dd;
@@ -38,7 +38,7 @@ body {
} }
.page-header h1 { .page-header h1 {
margin: 0; margin: 5px;
font-size: 28px; font-size: 28px;
font-weight: 600; font-weight: 600;
} }

View File

@@ -22,6 +22,7 @@
// #define CH_B_ENABLE // #define CH_B_ENABLE
#define TEST #define TEST
// Debug Defines
#define WIFI_SSID "AstroRotaxMonitor" #define WIFI_SSID "AstroRotaxMonitor"
#define WIFI_PASSWORD "maledettirotax" #define WIFI_PASSWORD "maledettirotax"
@@ -106,7 +107,7 @@ void loop()
.trig_pin_34n = TRIG_PIN_A34N, .trig_pin_34n = TRIG_PIN_A34N,
.spark_pin_12 = SPARK_PIN_A12, .spark_pin_12 = SPARK_PIN_A12,
.spark_pin_34 = SPARK_PIN_A34}, .spark_pin_34 = SPARK_PIN_A34},
.rt_resets = rtTaskResets{.rst_io_12p = RST_EXT_A12P, .rst_io_12n = RST_EXT_A12N, .rst_io_34p = RST_EXT_A34P, .rst_io_34n = RST_EXT_A34N}}; .rt_resets = rtTaskResets{.rst_io_peak= RST_EXT_PEAK_DETECT, .rst_io_sh = RST_EXT_SAMPLE_HOLD}};
if (!rt_taskA_queue || !rt_taskB_queue) if (!rt_taskA_queue || !rt_taskB_queue)
{ {
@@ -143,7 +144,7 @@ void loop()
SPIClass SPI_A(FSPI); SPIClass SPI_A(FSPI);
spiA_ok = SPI_A.begin(SPI_A_SCK, SPI_A_MISO, SPI_A_MOSI); spiA_ok = SPI_A.begin(SPI_A_SCK, SPI_A_MISO, SPI_A_MOSI);
SPI_A.setDataMode(SPI_MODE1); // ADS1256 requires SPI mode 1 SPI_A.setDataMode(SPI_MODE1); // ADS1256 requires SPI mode 1
#ifndef TEST #ifdef CH_B_ENABLE
SPIClass SPI_B(HSPI); SPIClass SPI_B(HSPI);
spiB_ok = SPI_B.begin(SPI_B_SCK, SPI_B_MISO, SPI_B_MOSI); spiB_ok = SPI_B.begin(SPI_B_SCK, SPI_B_MISO, SPI_B_MOSI);
SPI_B.setDataMode(SPI_MODE1); // ADS1256 requires SPI mode 1 SPI_B.setDataMode(SPI_MODE1); // ADS1256 requires SPI mode 1
@@ -158,12 +159,12 @@ void loop()
LOG_DEBUG("Init SPI OK"); LOG_DEBUG("Init SPI OK");
// Init ADC_A // Init ADC_A
dev.adc_a = new ADS1256(ADC_A_DRDY, ADS1256::PIN_UNUSED, ADC_A_SYNC, ADC_A_CS, 2.5, &SPI_A); dev.adc_a = new ADS1256(ADC_A_DRDY, ADS1256::PIN_UNUSED, ADS1256::PIN_UNUSED, ADC_A_CS, 2.5, &SPI_A);
dev.adc_a->InitializeADC(); dev.adc_a->InitializeADC();
dev.adc_a->setPGA(PGA_1); dev.adc_a->setPGA(PGA_1);
dev.adc_a->setDRATE(DRATE_7500SPS); dev.adc_a->setDRATE(DRATE_7500SPS);
#ifndef TEST #ifdef CH_B_ENABLE
// Init ADC_B // Init ADC_B
dev.adc_a = new ADS1256(ADC_B_DRDY, ADC_B_RST, ADC_B_SYNC, ADC_B_CS, 2.5, &SPI_B); dev.adc_a = new ADS1256(ADC_B_DRDY, ADC_B_RST, ADC_B_SYNC, ADC_B_CS, 2.5, &SPI_B);
dev.adc_a->InitializeADC(); dev.adc_a->InitializeADC();

View File

@@ -4,19 +4,19 @@
// ===================== // =====================
// USB (RISERVATA) // USB (RISERVATA)
// ===================== // =====================
#define USB_DM 19 #define USB_DM 19
#define USB_DP 20 #define USB_DP 20
// ===================== // =====================
// UART DEBUG (RISERVATA) // UART DEBUG (RISERVATA)
// ===================== // =====================
#define UART_TX 43 #define UART_TX 43
#define UART_RX 44 #define UART_RX 44
// ===================== // =====================
// RGB Led // RGB Led
// ===================== // =====================
#define LED 48 #define LED 48
// ===================== // =====================
// STRAPPING CRITICI (NON USARE) // STRAPPING CRITICI (NON USARE)
@@ -26,85 +26,84 @@
// ===================== // =====================
// SPI BUS ADC1 (VSPI) // SPI BUS ADC1 (VSPI)
// ===================== // =====================
#define SPI_A_MOSI 11 #define SPI_A_MOSI 10
#define SPI_A_MISO 13 #define SPI_A_SCK 11
#define SPI_A_SCK 12 #define SPI_A_MISO 12
// ===================== // =====================
// SPI BUS ADC2 (HSPI) // SPI BUS ADC2 (HSPI)
// ===================== // =====================
#define SPI_B_MOSI 35 #define SPI_B_MOSI 36
#define SPI_B_MISO 37 #define SPI_B_SCK 37
#define SPI_B_SCK 36 #define SPI_B_MISO 38
// ===================== // =====================
// I2C BUS (PCA9555) // I2C BUS (PCA9555)
// ===================== // =====================
#define SDA 8 #define SDA 8
#define SCL 9 #define SCL 9
#define I2C_INT 17
// ===================== // =====================
// ADC CONTROL // ADC CONTROL
// ===================== // =====================
#define ADC_A_CS 4 #define ADC_A_CS 14
#define ADC_A_DRDY 5 #define ADC_A_DRDY 13
#define ADC_A_SYNC 6
#define ADC_B_CS 14 #define ADC_B_CS 21
#define ADC_B_DRDY 15 #define ADC_B_DRDY 47
#define ADC_B_SYNC 16
// ===================== // =====================
// DIGITAL POT // DIGITAL POT
// ===================== // =====================
#define POT_A_CS 7 #define POT_A_CS 18
#define POT_B_CS 17 #define POT_B_CS 35
// ===================== // =====================
// TRIGGER INPUT INTERRUPTS // TRIGGER INPUT INTERRUPTS
// ===================== // =====================
#define TRIG_PIN_A12P 18 #define TRIG_PIN_A12P 6
#define TRIG_PIN_A12N 21 #define TRIG_PIN_A12N 7
#define TRIG_PIN_A34P 1 #define TRIG_PIN_A34P 15
#define TRIG_PIN_A34N 2 #define TRIG_PIN_A34N 16
#define TRIG_PIN_B12P 38 #define TRIG_PIN_B12P 42
#define TRIG_PIN_B12N 39 #define TRIG_PIN_B12N 41
#define TRIG_PIN_B34P 40 #define TRIG_PIN_B34P 40
#define TRIG_PIN_B34N 41 #define TRIG_PIN_B34N 39
// ===================== // =====================
// SPARK DETECT INPUTS // SPARK DETECT INPUTS
// ===================== // =====================
#define SPARK_PIN_A12 42 #define SPARK_PIN_A12 4
#define SPARK_PIN_A34 45 // OK (strapping ma consentito) 45 #define SPARK_PIN_A34 5
#define SPARK_PIN_B12 46 // OK (strapping ma consentito) 46 #define SPARK_PIN_B12 1
#define SPARK_PIN_B34 47 #define SPARK_PIN_B34 2
// ===================== // =====================
// PCA9555 (I2C EXPANDER) // PCA9555 (I2C EXPANDER)
// ===================== // =====================
// --- RESET LINES --- // --- RESET LINES ---
#define RST_EXT_A12P 0 #define RST_EXT_PEAK_DETECT 0
#define RST_EXT_A12N 1 #define RST_EXT_SAMPLE_HOLD 1
#define RST_EXT_A34P 2 #define BTN_1 2
#define RST_EXT_A34N 3 #define BTN_2 3
#define RST_EXT_B12P 4 #define BTN_3 4
#define RST_EXT_B12N 5 #define BTN_4 5
#define RST_EXT_B34P 6 #define BTN_5 6
#define RST_EXT_B34N 7 #define BTN_6 7
// --- RELAY --- // --- RELAY ---
#define A_EXT_RELAY 8 #define A_EXT_RELAY 8
#define B_EXT_RELAY 9 #define B_EXT_RELAY 9
// --- STATUS / BUTTON --- // --- STATUS / BUTTON ---
#define BTN_3 10 #define BTN_7 10
#define BTN_4 11 #define BTN_8 11
#define STA_1 12 #define STA_1 12
#define STA_2 13 #define STA_2 13
#define STA_3 14 #define STA_3 14
#define STA_4 15 #define STA_4 15
// Init Pin Functions // Init Pin Functions
inline void initTriggerPinsInputs() inline void initTriggerPinsInputs()

View File

@@ -78,13 +78,6 @@ void rtIgnitionTask(void *pvParameters)
LOG_INFO("rtTask ISR Attach OK"); LOG_INFO("rtTask ISR Attach OK");
// Compute Reset Pin Bitmask
const uint16_t rst_bitmask = (1 << rt_rst.rst_io_12p) |
(1 << rt_rst.rst_io_12n) |
(1 << rt_rst.rst_io_34p) |
(1 << rt_rst.rst_io_34n);
LOG_WARN("rtTask Init Correct");
// Global rt_task_ptr variables // Global rt_task_ptr variables
bool first_cycle = true; bool first_cycle = true;
bool cycle12 = false; bool cycle12 = false;
@@ -107,22 +100,6 @@ void rtIgnitionTask(void *pvParameters)
if (first_cycle && pickup_flag != TRIG_FLAG_12P) // skip first cycle because of possible initial noise on pickup signals at startu if (first_cycle && pickup_flag != TRIG_FLAG_12P) // skip first cycle because of possible initial noise on pickup signals at startu
continue; continue;
#ifdef DEBUG
Serial.print("\033[2J"); // clear screen
Serial.print("\033[H"); // cursor home
if (!names.contains(pickup_flag))
{
LOG_ERROR("Wrong Pickup Flag");
LOG_ERROR("Pickup Flags: ", printBits(pickup_flag).c_str());
continue;
}
else
{
LOG_INFO("Pickup Trigger: ", names.at(pickup_flag));
}
#endif
// Start microsecond precision timeout timer // Start microsecond precision timeout timer
esp_timer_stop(timeout_timer); // stop timer in case it was running from previous cycle esp_timer_stop(timeout_timer); // stop timer in case it was running from previous cycle
esp_timer_start_once(timeout_timer, spark_timeout_max); esp_timer_start_once(timeout_timer, spark_timeout_max);
@@ -257,6 +234,7 @@ void rtIgnitionTask(void *pvParameters)
if (io) if (io)
{ {
const uint16_t iostat = io->read(); const uint16_t iostat = io->read();
const uint16_t rst_bitmask = (0x0001 << rt_rst.rst_io_peak);
io->write(iostat | rst_bitmask); io->write(iostat | rst_bitmask);
vTaskDelay(pdMS_TO_TICKS(1)); vTaskDelay(pdMS_TO_TICKS(1));
io->write(iostat & ~rst_bitmask); io->write(iostat & ~rst_bitmask);

View File

@@ -46,10 +46,8 @@ struct rtTaskInterrupts
// RT Task Peak Detector Reset pins // RT Task Peak Detector Reset pins
struct rtTaskResets struct rtTaskResets
{ {
const uint8_t rst_io_12p; const uint8_t rst_io_peak;
const uint8_t rst_io_12n; const uint8_t rst_io_sh;
const uint8_t rst_io_34p;
const uint8_t rst_io_34n;
}; };
// RT task parameters // RT task parameters