Files
AstroRotaxMonitor/RotaxMonitor/src/pins.h
2026-04-11 16:39:59 +02:00

183 lines
3.6 KiB
C

#pragma once
#include <Arduino.h>
// =====================
// USB (RISERVATA)
// =====================
#define USB_DM 19
#define USB_DP 20
// =====================
// UART DEBUG (RISERVATA)
// =====================
#define UART_TX 43
#define UART_RX 44
// =====================
// RGB Led
// =====================
#define LED 48
// =====================
// STRAPPING CRITICI (NON USARE)
// =====================
// 0, 3
// =====================
// SPI BUS ADC1 (VSPI)
// =====================
#define SPI_A_MOSI 10
#define SPI_A_SCK 11
#define SPI_A_MISO 12
// =====================
// SPI BUS ADC2 (HSPI)
// =====================
#define SPI_B_MOSI 36
#define SPI_B_SCK 37
#define SPI_B_MISO 38
// =====================
// I2C BUS (PCA9555)
// =====================
#define SDA 8
#define SCL 9
#define I2C_INT 17
// =====================
// ADC CONTROL
// =====================
#define ADC_A_CS 14
#define ADC_A_DRDY 13
#define ADC_B_CS 21
#define ADC_B_DRDY 47
// =====================
// DIGITAL POT
// =====================
#define POT_A_CS 18
#define POT_B_CS 35
// =====================
// TRIGGER INPUT INTERRUPTS
// =====================
#define TRIG_PIN_A12P 6
#define TRIG_PIN_A12N 7
#define TRIG_PIN_A34P 15
#define TRIG_PIN_A34N 16
#define TRIG_PIN_B12P 42
#define TRIG_PIN_B12N 41
#define TRIG_PIN_B34P 40
#define TRIG_PIN_B34N 39
// =====================
// SPARK DETECT INPUTS
// =====================
#define SPARK_PIN_A12 4
#define SPARK_PIN_A34 5
#define SPARK_PIN_B12 1
#define SPARK_PIN_B34 2
// =====================
// PCA9555 I/O EXPANDER BOX_A
// =====================
#define EXPANDER_A_ADDR 0x010101
// --- DIGITAL POT CHIP SELECT LINES ---
#define POT_CS_A12 0
#define POT_CS_A34 1
// --- SOFT START FORCE LINES ---
#define SS_FORCE_A 2
#define SS_INIBHIT_A12 3
#define SS_INHIBIT_A34 4
// --- SAMPLE AND HOLD ARM AND DISCHARGE ---
#define SH_DISCH_A12 5
#define SH_DISCH_A34 6
#define SH_ARM_A12 7
#define SH_ARM_A34 8
// --- RELAY ---
#define RELAY_IN_A12 9
#define RELAY_OUT_A12 10
#define RELAY_IN_A34 11
#define RELAY_OUT_A34 12
// --- STATUS / BUTTON ---
#define STA_2 13
#define STA_3 14
#define STA_4 15
// =====================
// PCA9555 I/O EXPANDER BOX_B
// =====================
#define EXPANDER_B_ADDR 0x101010
// --- DIGITAL POT CHIP SELECT LINES ---
#define POT_CS_B12 0
#define POT_CS_B34 1
// --- SOFT START FORCE LINES ---
#define SS_FORCE_B 2
#define SS_INIBHIT_B12 3
#define SS_INHIBIT_B34 4
// --- SAMPLE AND HOLD ARM AND DISCHARGE ---
#define SH_DISCH_B12 5
#define SH_DISCH_B34 6
#define SH_ARM_B12 7
#define SH_ARM_B34 8
// --- RELAY ---
#define RELAY_IN_B12 9
#define RELAY_OUT_B12 10
#define RELAY_IN_B34 11
#define RELAY_OUT_B34 12
// --- STATUS / BUTTON ---
#define STA_2 13
#define STA_3 14
#define STA_4 15
// =====================
// PCA9555 I/O EXPANDER INPUTS A+B
// =====================
#define EXPANDER_IN_ADDR 0x0a0a0a
#define SS_A12_ON
#define SS_A12_OFF
#define SS_A34_ON
#define SS_A34_OFF
#define SS_B12_ON
#define SS_B12_OFF
#define SS_B34_ON
#define SS_B34_OFF
// Init Pin Functions
inline void initTriggerPinsInputs()
{
pinMode(TRIG_PIN_A12P, INPUT_PULLDOWN);
pinMode(TRIG_PIN_A12N, INPUT_PULLDOWN);
pinMode(TRIG_PIN_A34P, INPUT_PULLDOWN);
pinMode(TRIG_PIN_A34N, INPUT_PULLDOWN);
pinMode(TRIG_PIN_B12P, INPUT_PULLDOWN);
pinMode(TRIG_PIN_B12N, INPUT_PULLDOWN);
pinMode(TRIG_PIN_B34P, INPUT_PULLDOWN);
pinMode(TRIG_PIN_B34N, INPUT_PULLDOWN);
}
inline void initSparkPinInputs()
{
pinMode(SPARK_PIN_A12, INPUT_PULLDOWN);
pinMode(SPARK_PIN_A34, INPUT_PULLDOWN);
pinMode(SPARK_PIN_B12, INPUT_PULLDOWN);
pinMode(SPARK_PIN_B34, INPUT_PULLDOWN);
}