Fonctionnalité de repérage auto. lors du démarrage

This commit is contained in:
=
2021-01-27 14:34:44 +01:00
parent b668a01416
commit 562a43a6dd

View File

@@ -25,6 +25,11 @@ const int ROAD_LIGHTS_PIN = 16;
const int HEAD_LIGHTS_PIN = 14;
const int FOG_LIGHTS_PIN = 15;
// Enabling modules
const bool USE_GEARSHIFT = true;
const bool USE_PEDALS = true;
const bool USE_WHEEL = true;
const int INTERVAL = 15;
void setup() {
@@ -53,59 +58,63 @@ void setup() {
// Send current states
/* Gearshift */
int value = analogRead(SPEEDS_PIN);
if(value < 200) ZenDrive.switchSpeed1();
else if(value < 326) ZenDrive.switchSpeed2();
else if(value < 421) ZenDrive.switchSpeed3();
else if(value < 493) ZenDrive.switchSpeed4();
else if(value < 551) ZenDrive.switchSpeed5();
else if(value < 596) ZenDrive.switchSpeed6();
else if(value < 634) ZenDrive.switchSpeedR();
else ZenDrive.switchNeutral();
//Read handbrake
ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255));
ZenDrive.sendGearshiftStates();
if(USE_GEARSHIFT){
int value = analogRead(SPEEDS_PIN);
if(value < 200) ZenDrive.switchSpeed1();
else if(value < 326) ZenDrive.switchSpeed2();
else if(value < 421) ZenDrive.switchSpeed3();
else if(value < 493) ZenDrive.switchSpeed4();
else if(value < 551) ZenDrive.switchSpeed5();
else if(value < 596) ZenDrive.switchSpeed6();
else if(value < 634) ZenDrive.switchSpeedR();
else ZenDrive.switchNeutral();
//Read handbrake
ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255));
ZenDrive.sendGearshiftStates();
}
/* Pedals module */
// Read clutch
ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255));
// Read brake
ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255));
// Read accelerator
ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255));
ZenDrive.sendPedalsStates();
if(USE_PEDALS){
// Read clutch
ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255));
// Read brake
ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255));
// Read accelerator
ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255));
ZenDrive.sendPedalsStates();
}
/* Steering wheel module */
// Left blinker
if(digitalRead(LEFT_BLINKER_PIN)){
ZenDrive.setBlinkerLeft(true);
ZenDrive.setBlinkerRight(false);
if(USE_WHEEL){
// Blinkers
if(digitalRead(LEFT_BLINKER_PIN)){
ZenDrive.setBlinkerLeft(true);
ZenDrive.setBlinkerRight(false);
}
else if(digitalRead(RIGHT_BLINKER_PIN)){
ZenDrive.setBlinkerLeft(false);
ZenDrive.setBlinkerRight(true);
}
else{
ZenDrive.setBlinkerLeft(false);
ZenDrive.setBlinkerRight(false);
}
// Right blinker
ZenDrive.setBlinkerRight(digitalRead(RIGHT_BLINKER_PIN));
// Warning
ZenDrive.setWarning(digitalRead(WARNING_PIN));
// Lights
if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn();
else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights();
else ZenDrive.switchLightsOff();
// Head lights
ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN));
// Fog lights
ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN));
// Starter
ZenDrive.setStarter(digitalRead(STARTER_PIN));
// Read direction
ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127));
ZenDrive.sendWheelStates();
}
else if(digitalRead(RIGHT_BLINKER_PIN)){
ZenDrive.setBlinkerLeft(false);
ZenDrive.setBlinkerRight(true);
}
else{
ZenDrive.setBlinkerLeft(false);
ZenDrive.setBlinkerRight(false);
}
// Right blinker
ZenDrive.setBlinkerRight(digitalRead(RIGHT_BLINKER_PIN));
// Warning
ZenDrive.setWarning(digitalRead(WARNING_PIN));
// Lights
if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn();
else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights();
else ZenDrive.switchLightsOff();
// Head lights
ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN));
// Fog lights
ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN));
// Starter
ZenDrive.setStarter(digitalRead(STARTER_PIN));
// Read direction
ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127));
ZenDrive.sendWheelStates();
}
void loop() {
@@ -115,59 +124,72 @@ void loop() {
ZenDrive.wheelNeedRefresh = false;
/* Gearshift module */
//Read speed states on the analog shared pin
int value = analogRead(SPEEDS_PIN);
if(value < 200) ZenDrive.switchSpeed1();
else if(value < 326) ZenDrive.switchSpeed2();
else if(value < 421) ZenDrive.switchSpeed3();
else if(value < 493) ZenDrive.switchSpeed4();
else if(value < 551) ZenDrive.switchSpeed5();
else if(value < 596) ZenDrive.switchSpeed6();
else if(value < 634) ZenDrive.switchSpeedR();
else ZenDrive.switchNeutral();
//Read handbrake
ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255));
// Send gearshift states if there are changes
if(ZenDrive.gearshiftNeedRefresh) ZenDrive.sendGearshiftStates();
if(USE_GEARSHIFT){
//Read speed states on the analog shared pin
int value = analogRead(SPEEDS_PIN);
if(value < 200) ZenDrive.switchSpeed1();
else if(value < 326) ZenDrive.switchSpeed2();
else if(value < 421) ZenDrive.switchSpeed3();
else if(value < 493) ZenDrive.switchSpeed4();
else if(value < 551) ZenDrive.switchSpeed5();
else if(value < 596) ZenDrive.switchSpeed6();
else if(value < 634) ZenDrive.switchSpeedR();
else ZenDrive.switchNeutral();
//Read handbrake
ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255));
// Send gearshift states if there are changes
if(ZenDrive.gearshiftNeedRefresh) ZenDrive.sendGearshiftStates();
}
/* Pedals module */
// Read clutch
ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255));
// Read brake
ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255));
// Read accelerator
ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255));
// Send pedals states if they are changes
if(ZenDrive.pedalsNeedRefresh) ZenDrive.sendPedalsStates();
if(USE_PEDALS){
// Read clutch
ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255));
// Read brake
ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255));
// Read accelerator
ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255));
// Send pedals states if they are changes
if(ZenDrive.pedalsNeedRefresh) ZenDrive.sendPedalsStates();
}
/* Steering wheel module */
// Left blinker
ZenDrive.setBlinkerLeft(digitalRead(LEFT_BLINKER_PIN));
// Right blinker
ZenDrive.setBlinkerRight(digitalRead(RIGHT_BLINKER_PIN));
// Warning
ZenDrive.setWarning(digitalRead(WARNING_PIN));
// Lights
if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn();
else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights();
else ZenDrive.switchLightsOff();
// Head lights
ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN));
// Fog lights
ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN));
// Starter
ZenDrive.setStarter(digitalRead(STARTER_PIN));
// Horn
ZenDrive.setHorn(!digitalRead(HORN_PIN));
// Cruise on
if(!digitalRead(CRUISE_PIN)) ZenDrive.activeCruise();
// Cruise up
if(!digitalRead(CRUISE_UP_PIN)) ZenDrive.increaseCruise();
// Cruise down
if(!digitalRead(CRUISE_DOWN_PIN)) ZenDrive.decreaseCruise();
// Read direction
ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127));
// Send steering wheel states if they are changes
if(ZenDrive.wheelNeedRefresh) ZenDrive.sendWheelStates();
if(USE_WHEEL){
// Blinkers
if(digitalRead(LEFT_BLINKER_PIN)){
ZenDrive.setBlinkerLeft(true);
ZenDrive.setBlinkerRight(false);
}
else if(digitalRead(RIGHT_BLINKER_PIN)){
ZenDrive.setBlinkerLeft(false);
ZenDrive.setBlinkerRight(true);
}
else{
ZenDrive.setBlinkerLeft(false);
ZenDrive.setBlinkerRight(false);
}
// Warning
ZenDrive.setWarning(digitalRead(WARNING_PIN));
// Lights
if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn();
else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights();
else ZenDrive.switchLightsOff();
// Head lights
ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN));
// Fog lights
ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN));
// Starter
ZenDrive.setStarter(digitalRead(STARTER_PIN));
// Horn
ZenDrive.setHorn(!digitalRead(HORN_PIN));
// Cruise on
if(!digitalRead(CRUISE_PIN)) ZenDrive.activeCruise();
// Cruise up
if(!digitalRead(CRUISE_UP_PIN)) ZenDrive.increaseCruise();
// Cruise down
if(!digitalRead(CRUISE_DOWN_PIN)) ZenDrive.decreaseCruise();
// Read direction
ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127));
// Send steering wheel states if they are changes
if(ZenDrive.wheelNeedRefresh) ZenDrive.sendWheelStates();
}
delay(50);
}