mirror of
https://github.com/Oleg-Stepanenko-owo/IEBUS
synced 2025-06-13 02:46:09 +00:00
Fix bug with rear cam till 10 sek
This commit is contained in:
parent
67457e86ea
commit
ef73f5eb69
@ -53,8 +53,8 @@ void AVCLanHonda::begin()
|
|||||||
{
|
{
|
||||||
avclan.deviceAddress = 0x0131;
|
avclan.deviceAddress = 0x0131;
|
||||||
|
|
||||||
bShowHondaDisp = false;
|
bShowHondaDisp = true;
|
||||||
bHondaDisLast = false;
|
bHondaDisLast = true;
|
||||||
bShowRearCam = false;
|
bShowRearCam = false;
|
||||||
bFirstStart_20 = true;
|
bFirstStart_20 = true;
|
||||||
bFreeze = false;
|
bFreeze = false;
|
||||||
@ -94,7 +94,8 @@ void AVCLanHonda::processAction( AvcActionID ActionID )
|
|||||||
{
|
{
|
||||||
if ( bFirstStart_20 && (20000 > millis()) && (ACT_CAM_ON == ActionID) ) {
|
if ( bFirstStart_20 && (20000 > millis()) && (ACT_CAM_ON == ActionID) ) {
|
||||||
bShowRearCam = true;
|
bShowRearCam = true;
|
||||||
bHondaDisLast = false; //after reverse action should be GVN screen
|
if ( 11500 > millis() ) bHondaDisLast = true;
|
||||||
|
else bHondaDisLast = false;
|
||||||
bShowHondaDisp = true;
|
bShowHondaDisp = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -144,6 +144,27 @@ void AVCLanBT::sendByte(uint8_t val)
|
|||||||
mySerial.write( val );
|
mySerial.write( val );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
void AVCLanBT::printAction( AvcActionID ActionID )
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
{
|
||||||
|
switch ( ActionID )
|
||||||
|
{
|
||||||
|
case ACT_CAM_ON: mySerial.println(">>A:CAM ON<<"); break;
|
||||||
|
case ACT_CAM_OFF: mySerial.println(">>A:CAM OFF<<"); break;
|
||||||
|
case ACT_DISP_OFF: mySerial.println(">>A:DISP OFF<<"); break;
|
||||||
|
case ACT_BUTTON_DOWN: mySerial.println(">>A:BUTTON DOWN<<"); break;
|
||||||
|
case ACT_BUTTON_UP: mySerial.println(">>A:BUTTON UP<<"); break;
|
||||||
|
case ACT_B_DISPOFF: mySerial.println(">>A:B_DISP_OFF<<"); break;
|
||||||
|
case ACT_B_DISPFULL_DOWN: mySerial.println(">>A:B_DISP_FULL_DOWN<<"); break;
|
||||||
|
case ACT_B_DISPFULL_UP: mySerial.println(">>A:B_DISP_FULL_UP<<"); break;
|
||||||
|
case ACT_B_DISPHULF: mySerial.println(">>A:B_DISP_HILF<<"); break;
|
||||||
|
case ACT_TEL: mySerial.println(">>A:TEL<<"); break;
|
||||||
|
case ACT_TEL_CANCEL: mySerial.println(">>A:TEL CANCEL<<"); break;
|
||||||
|
default: mySerial.println(">>A:UNDEFINED<<");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
void AVCLanBT::EERPOM_read_config()
|
void AVCLanBT::EERPOM_read_config()
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
|
#include "AVCLanHonda.h"
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -28,6 +29,7 @@ class AVCLanBT
|
|||||||
bool isLogging();
|
bool isLogging();
|
||||||
int available();
|
int available();
|
||||||
void checkCommand(char command );
|
void checkCommand(char command );
|
||||||
|
void printAction( AvcActionID ActionID );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void EERPOM_read_config();
|
void EERPOM_read_config();
|
||||||
|
@ -23,15 +23,17 @@ int len = 0; //stores the length of the commands
|
|||||||
void setup()
|
void setup()
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
// Serial.begin(9600);
|
// Serial.begin(9600);
|
||||||
|
|
||||||
avclan.begin();
|
avclan.begin();
|
||||||
avclanHonda.begin();
|
avclanHonda.begin();
|
||||||
errorID = 0;
|
errorID = 0;
|
||||||
error_count = 0;
|
error_count = 0;
|
||||||
|
|
||||||
avclanBT.begin();
|
avclanBT.begin();
|
||||||
avclanBT.println("Start HONDA avclan.");
|
avclanBT.print("Start HONDA avclan.#");
|
||||||
|
sprintf( BUFFF, "%s", IEBUS_VERSION );
|
||||||
|
avclanBT.println( BUFFF );
|
||||||
|
|
||||||
LED_ON;
|
LED_ON;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,44 +41,53 @@ void setup()
|
|||||||
void loop()
|
void loop()
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
{
|
{
|
||||||
if (avclanBT.available())
|
if ( avclanBT.available() )
|
||||||
{
|
{
|
||||||
len = avclanBT.available();
|
len = avclanBT.available();
|
||||||
// Serial.print("len ="); Serial.println(len);
|
for (int i = 0; i < len; i++) avclanBT.checkCommand(avclanBT.read());
|
||||||
for (int i = 0; i < len; i++)
|
|
||||||
{
|
|
||||||
avclanBT.checkCommand(avclanBT.read());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( avclanHonda.bFirstStart_20 && (11500 > millis()) ) {
|
if ( avclanHonda.bFirstStart_20 && !avclanHonda.isShowRearCam() && (11500 < millis()) )
|
||||||
HONDA_DIS_ON; // initalize
|
{
|
||||||
return;
|
|
||||||
} else if ( avclanHonda.bFirstStart_20 && !avclanHonda.isShowRearCam() && (11500 < millis()) ) {
|
|
||||||
avclanHonda.setHondaDis( false ); //Show GVN screen
|
avclanHonda.setHondaDis( false ); //Show GVN screen
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( avclanHonda.bFreeze ) {
|
if ( avclanHonda.bFreeze ) {
|
||||||
if ( avclanHonda.freezeTime < millis() ) {
|
if ( avclanHonda.freezeTime < millis() ) {
|
||||||
avclanHonda.bFreeze = false;
|
avclanHonda.bFreeze = false;
|
||||||
avclanHonda.freezeTime = 0L;
|
avclanHonda.freezeTime = 0L;
|
||||||
} else return;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( INPUT_IS_SET ) {
|
if ( INPUT_IS_SET ) {
|
||||||
byte res = avclan.readMessage();
|
byte res = avclan.readMessage();
|
||||||
if ( !res ) {
|
if ( !res )
|
||||||
|
{
|
||||||
|
LED_OFF;
|
||||||
|
|
||||||
avclan.printMessage(true);
|
avclan.printMessage(true);
|
||||||
error_count = 0;
|
error_count = 0;
|
||||||
avclanHonda.getActionID();
|
avclanHonda.getActionID();
|
||||||
if ( avclan.actionID != ACT_NONE ) {
|
|
||||||
sprintf( BUFFF, "Action: %d", avclan.actionID );
|
|
||||||
avclanBT.println( BUFFF );
|
|
||||||
|
|
||||||
LED_ON;
|
if ( avclanHonda.bFirstStart_20 && (avclan.actionID == ACT_CAM_ON) )
|
||||||
|
{
|
||||||
|
avclanBT.printAction((AvcActionID)avclan.actionID);
|
||||||
avclanHonda.processAction( (AvcActionID)avclan.actionID );
|
avclanHonda.processAction( (AvcActionID)avclan.actionID );
|
||||||
}
|
}
|
||||||
} else {
|
else if ( (avclan.actionID != ACT_NONE) && ( 20000 < millis() ) && (!avclanHonda.bFreeze))
|
||||||
|
{
|
||||||
|
avclanBT.printAction((AvcActionID)avclan.actionID);
|
||||||
|
avclanHonda.processAction( (AvcActionID)avclan.actionID );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( avclanHonda.bFirstStart_20 ) avclanBT.println(">>FIRST_SKIP<<");
|
||||||
|
else if ( avclanHonda.bFreeze ) avclanBT.println(">>FREEZE_SKIP<<");
|
||||||
|
}
|
||||||
|
LED_ON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if ( errorID == res ) error_count++;
|
if ( errorID == res ) error_count++;
|
||||||
else error_count = 1;
|
else error_count = 1;
|
||||||
|
|
||||||
@ -84,13 +95,19 @@ void loop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( avclanHonda.isWait() ) {
|
if ( avclanHonda.isWait() )
|
||||||
|
{
|
||||||
avclanHonda.checkWait();
|
avclanHonda.checkWait();
|
||||||
if ( !avclanHonda.isWait() ) avclanHonda.tryToShowHondaDisp();
|
if ( !avclanHonda.isWait() ) avclanHonda.tryToShowHondaDisp();
|
||||||
} else {
|
}
|
||||||
if ( avclanHonda.getCommute() ) {
|
else
|
||||||
|
{
|
||||||
|
if ( avclanHonda.getCommute() )
|
||||||
|
{
|
||||||
HONDA_DIS_ON;
|
HONDA_DIS_ON;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
HONDA_DIS_OFF;
|
HONDA_DIS_OFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -105,8 +122,8 @@ void loop()
|
|||||||
|
|
||||||
sprintf(BUFFF, "Error: %d", errorID );
|
sprintf(BUFFF, "Error: %d", errorID );
|
||||||
avclanBT.println( BUFFF );
|
avclanBT.println( BUFFF );
|
||||||
avclan.begin();
|
//avclan.begin();
|
||||||
cli();
|
//cli();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
config.h - AVCLan driver config
|
config.h - AVCLan driver config
|
||||||
Created by Kochetkov Aleksey, 04.08.2010
|
Created by Kochetkov Aleksey, 04.08.2010
|
||||||
*/
|
*/
|
||||||
#define IEBUS_VERSION "0.4"
|
#define IEBUS_VERSION "0.5"
|
||||||
|
|
||||||
// type of AVCLan hardwire driver
|
// type of AVCLan hardwire driver
|
||||||
#define AVCLAN_PCA82C250
|
#define AVCLAN_PCA82C250
|
||||||
|
Loading…
x
Reference in New Issue
Block a user