steering-wheel-evo/lib/FT18_STW_INIT/FT18_STW_INIT.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

107 lines
2.8 KiB
C
Raw Normal View History

#include "Arduino.h"
#ifndef FT18_STW_Init
#define FT18_STW_Init
#define l 78 // test_led
#define led1 12 // PD8
#define led2 11 // PD7
#define led3 9 // PC21
#define led4 8 // PC22
#define led5 7 // PC23
#define led6 6 // PC24
#define led7 5 // PC25
#define led8 4 // PC26 und PA29
#define led9 3 // PC28
#define led10 2 // PB25
#define led11 10 // PC29 und PA28
#define led12 22 // PB26
#define led13 19 // PA10
#define led14 13 // PB27
#define led15 17 // PA12
#define led16 18 // PA11
#define button1 48 // bl
#define button2 47 // gl
#define button3 44 // gr
#define button4 46 // br
#define button5 45 // sl
#define button6 49 // sr
#define enc1PinA 37
#define enc1PinB 38
#define enc1PinS 35
#define enc2PinA 40
#define enc2PinB 41
#define enc2PinS 39
// define Drehzahlgrenzen TODOOOO
#define RPM_THRES_1 1000
#define RPM_THRES_2 6000
#define RPM_THRES_3 7000
#define RPM_THRES_4 8000
#define RPM_THRES_5 10000
#define RPM_THRES_6 14000
#define RPM_THRES_7 17000
#define RPM_THRES_8 18000
#define RPM_THRES_9 20000
#define RPM_THRES_10 20000
void set_pins(void);
void read_buttons(void);
void read_rotary(void); // read rotary switches
typedef struct {
uint8_t Stw_shift_up; // 1 Bit 0
uint8_t Stw_shift_down; // 1 Bit 1
uint8_t Stw_neutral; // 1 Bit 2
uint8_t Stw_auto_shift; // 1 Bit 3
uint8_t buttonState1; // 1 Bit 4
uint8_t buttonState4; // 1 Bit 5
// bool CAN_toggle;
// bool CAN_check;
// uint8_t i; //Index
// linker Drehschalter
uint8_t buttonStateEnc1; // button
2022-03-17 00:09:13 +01:00
// uint8_t br; //test
// mode : mittlere Drehschalter position
uint8_t buttonStateEnc2; // button
uint8_t displayindex; // index für Displayanzeige
uint8_t error_type; // Extrainfos über Error-LED
uint8_t trc;
uint8_t mode;
2022-03-13 18:15:41 +01:00
uint8_t button1_rises;
uint8_t button4_rises;
uint8_t enc1_rises;
uint8_t enc2_rises;
} stw_data_type;
typedef struct {
uint8_t e_thro; // E-Drossel
uint8_t g_auto; // Auto-Shift
uint8_t gear; // Gang
uint16_t revol; // Drehzahl
uint8_t t_oil; // Öl-Motor-Temperatur
uint8_t t_mot; // Wasser-Motor-Temperatur
uint8_t t_air; // LLK-Temperatur
2022-03-17 00:09:13 +01:00
uint8_t t_tfl; // Tire temp front left
uint8_t t_tfr; // Tire temp front right
uint8_t t_trl; // Tire temp rear left
uint8_t t_trr; // Tire temp rear right
uint8_t u_batt; // Batteriespannung
uint8_t rev_lim; // Drehzahllimit Bit
2022-03-17 00:51:16 +01:00
bool drs_active; // DRS status from BCU
uint8_t p_wat;
uint8_t p_fuel;
uint8_t p_oil;
uint8_t p_brake_front;
uint8_t p_brake_rear;
uint8_t speed_fl;
uint8_t speed_fr;
uint8_t speed;
uint8_t lap_time_sec;
2022-03-17 00:09:13 +01:00
uint16_t lap_time_msec;
} vehicle_data_type;
extern volatile stw_data_type Stw_data;
extern volatile vehicle_data_type Vehicle_data;
#endif