183 lines
3.6 KiB
C
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);
|
|
}
|