mirror of
https://github.com/Oleg-Stepanenko-owo/IEBUS.git
synced 2026-08-24 22:55:33 +00:00
Added loger + update logic
This commit is contained in:
@@ -570,8 +570,6 @@ void AVCLanDrv::printMessage(bool incoming)
|
||||
byte AVCLanDrv::getActionID(const AvcInCmdTable messageTable[], byte mtSize)
|
||||
//--------------------------------------------------------------------------------
|
||||
{
|
||||
// Serial.print( "="); Serial.println( pgm_read_byte_near(&messageTable[msg].prefix[i]) );
|
||||
|
||||
if ( ((slaveAddress != deviceAddress) && (slaveAddress != 0x0FFF))
|
||||
|| (( dataSize < 8) || (dataSize > 10 )) ) {
|
||||
return ACT_NONE;
|
||||
|
||||
+36
-32
@@ -1,4 +1,5 @@
|
||||
//--------------------------------------------------------------------------------
|
||||
#include "limits.h"
|
||||
#include <EEPROM.h>
|
||||
#include "AVCLanDrv.h"
|
||||
#include "AVCLanHonda.h"
|
||||
@@ -62,9 +63,9 @@ void AVCLanHonda::begin()
|
||||
bShowHondaDisp = false;
|
||||
isHondaDisLast = false;
|
||||
bShowRearCam = false;
|
||||
bFirstStart_20 = true;
|
||||
|
||||
setWaitTime( 0L );
|
||||
setLockTime( 0L );
|
||||
|
||||
// timer1 setup, prescaler factor - 1024
|
||||
TCCR1A = 0; // normal mode
|
||||
@@ -86,14 +87,14 @@ void AVCLanHonda::setWaitTime( const unsigned long mTime )
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
void AVCLanHonda::setLockTime( const unsigned long mTime )
|
||||
//--------------------------------------------------------------------------------
|
||||
{
|
||||
lockTime = mTime;
|
||||
bLock = true;
|
||||
setWaitTime(0L);
|
||||
}
|
||||
////--------------------------------------------------------------------------------
|
||||
//void AVCLanHonda::setLockTime( const unsigned long mTime )
|
||||
////--------------------------------------------------------------------------------
|
||||
//{
|
||||
// lockTime = mTime;
|
||||
// bLock = true;
|
||||
// setWaitTime(0L);
|
||||
//}
|
||||
|
||||
// Use the last received message to determine the corresponding action ID, store it in avclan object
|
||||
//--------------------------------------------------------------------------------
|
||||
@@ -105,24 +106,26 @@ void AVCLanHonda::getActionID()
|
||||
|
||||
// process action
|
||||
//--------------------------------------------------------------------------------
|
||||
void AVCLanHonda::processAction(AvcActionID ActionID)
|
||||
void AVCLanHonda::processAction( AvcActionID ActionID )
|
||||
//--------------------------------------------------------------------------------
|
||||
{
|
||||
if ( (20000 > millis()) && (ACT_CAM_ON == ActionID) ) {
|
||||
if ( bFirstStart_20 && (20000 > millis()) && (ACT_CAM_ON == ActionID) ) {
|
||||
bShowRearCam = true;
|
||||
isHondaDisLast = false;
|
||||
bShowHondaDisp = true;
|
||||
printAvcAction(ActionID);
|
||||
return;
|
||||
}
|
||||
|
||||
if ( bFirstStart_20 && (20000 < millis()) ) bFirstStart_20 = false;
|
||||
|
||||
switch ( ActionID ) {
|
||||
case ACT_BUTTON_PRESS:
|
||||
{
|
||||
printAvcAction(ActionID);
|
||||
if ( !bShowRearCam || !isWait() || !isLockTime() )
|
||||
if ( !bShowRearCam || !isWait() )
|
||||
{
|
||||
setWaitTime( (unsigned long)((millis() + BUTT_WAIT)) );
|
||||
if ( ULONG_MAX > (millis() + BUTT_WAIT) )
|
||||
setWaitTime( (unsigned long)((millis() + BUTT_WAIT)) );
|
||||
else setWaitTime( BUTT_WAIT );
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -130,23 +133,25 @@ void AVCLanHonda::processAction(AvcActionID ActionID)
|
||||
bShowRearCam = true;
|
||||
isHondaDisLast = isShowHondaDisp();
|
||||
bShowHondaDisp = true;
|
||||
printAvcAction(ActionID);
|
||||
setLockTime( (unsigned long)(millis() + LOCK_TIME) );
|
||||
setWaitTime(0L);
|
||||
// setLockTime( (unsigned long)(millis() + LOCK_TIME) );
|
||||
break;
|
||||
case ACT_DISP_OFF:
|
||||
if ( !bShowRearCam )
|
||||
{
|
||||
bShowHondaDisp = false;
|
||||
isHondaDisLast = false;
|
||||
printAvcAction(ActionID);
|
||||
setLockTime( (unsigned long)(millis() + LOCK_TIME) );
|
||||
setWaitTime(0L);
|
||||
// printAvcAction(ActionID);
|
||||
// setLockTime( (unsigned long)(millis() + LOCK_TIME) );
|
||||
}
|
||||
break;
|
||||
case ACT_CAM_OFF:
|
||||
bShowRearCam = false;
|
||||
bShowHondaDisp = isHondaDisLast;
|
||||
printAvcAction(ActionID);
|
||||
setLockTime( (unsigned long)(millis() + LOCK_TIME) );
|
||||
setWaitTime(0L);
|
||||
// printAvcAction(ActionID);
|
||||
// setLockTime( (unsigned long)(millis() + LOCK_TIME) );
|
||||
break;
|
||||
}
|
||||
};
|
||||
@@ -171,8 +176,7 @@ bool AVCLanHonda::getCommute()
|
||||
void AVCLanHonda::tryToShowHondaDisp()
|
||||
//--------------------------------------------------------------------------------
|
||||
{
|
||||
bWait = false;
|
||||
if ( isLockTime() ) return;
|
||||
// if ( isLockTime() ) return;
|
||||
bShowHondaDisp = true;
|
||||
}
|
||||
|
||||
@@ -184,15 +188,15 @@ void AVCLanHonda::falseHondaDis()
|
||||
isHondaDisLast = false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
bool AVCLanHonda::isLockTime()
|
||||
//--------------------------------------------------------------------------------
|
||||
{
|
||||
if ( bLock ) {
|
||||
bLock = ( getLockTime() > millis() );
|
||||
}
|
||||
return bLock;
|
||||
}
|
||||
////--------------------------------------------------------------------------------
|
||||
//bool AVCLanHonda::isLockTime()
|
||||
////--------------------------------------------------------------------------------
|
||||
//{
|
||||
// if ( bLock ) {
|
||||
// bLock = ( getLockTime() > millis() );
|
||||
// }
|
||||
// return bLock;
|
||||
//}
|
||||
|
||||
AVCLanHonda avclanHonda;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#define DISABLE_TIMER1_INT (cbi(TIMSK1, TOIE1));
|
||||
#endif
|
||||
|
||||
// адреса eeprom
|
||||
// а�реса eeprom
|
||||
#define E_MASTER1 0
|
||||
#define E_MASTER2 1
|
||||
#define E_READONLY 2
|
||||
@@ -66,9 +66,9 @@ class AVCLanHonda
|
||||
void setWaitTime( const unsigned long mTime );
|
||||
inline unsigned long getWaitTime() const;
|
||||
|
||||
void setLockTime( const unsigned long mTime );
|
||||
inline unsigned long getLockTime() const;
|
||||
bool isLockTime();
|
||||
// void setLockTime( const unsigned long mTime );
|
||||
// inline unsigned long getLockTime() const;
|
||||
// bool isLockTime();
|
||||
|
||||
|
||||
inline bool isWait() const;
|
||||
@@ -80,10 +80,11 @@ class AVCLanHonda
|
||||
void checkLock();
|
||||
void falseHondaDis();
|
||||
|
||||
bool bFirstStart_20;
|
||||
|
||||
private:
|
||||
unsigned long waitTime;
|
||||
unsigned long lockTime;
|
||||
// unsigned long lockTime;
|
||||
|
||||
bool bWait;
|
||||
bool bLock;
|
||||
@@ -94,9 +95,9 @@ class AVCLanHonda
|
||||
bool isHondaDisLast;
|
||||
};
|
||||
|
||||
unsigned long AVCLanHonda::getLockTime() const {
|
||||
return lockTime;
|
||||
}
|
||||
//unsigned long AVCLanHonda::getLockTime() const {
|
||||
// return lockTime;
|
||||
//}
|
||||
|
||||
unsigned long AVCLanHonda::getWaitTime() const {
|
||||
return waitTime;
|
||||
|
||||
+65
-36
@@ -42,53 +42,82 @@ void setup()
|
||||
void loop()
|
||||
//--------------------------------------------------------------------------------
|
||||
{
|
||||
if ( avclanHonda.isShowRearCam() ) {
|
||||
HONDA_DIS_ON;
|
||||
|
||||
if ( avclanHonda.bFirstStart_20 && (11500 > millis()) ) {
|
||||
HONDA_DIS_ON; // initalize
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !avclanHonda.isLockTime() )
|
||||
{
|
||||
|
||||
if ( avclanHonda.isWait() ) {
|
||||
avclanHonda.checkWait();
|
||||
if (avclanHonda.isWait() == false)
|
||||
avclanHonda.tryToShowHondaDisp();
|
||||
}
|
||||
|
||||
if ( INPUT_IS_SET ) {
|
||||
byte res = avclan.readMessage();
|
||||
if ( !res ) {
|
||||
//LOG
|
||||
// avclan.printMessage(true);
|
||||
avclanHonda.getActionID();
|
||||
if ( avclan.actionID != ACT_NONE ) {
|
||||
avclanHonda.processAction( (AvcActionID)avclan.actionID );
|
||||
}
|
||||
if ( INPUT_IS_SET ) {
|
||||
byte res = avclan.readMessage();
|
||||
if ( !res ) {
|
||||
avclanHonda.getActionID();
|
||||
if ( avclan.actionID != ACT_NONE ) {
|
||||
avclanHonda.processAction( (AvcActionID)avclan.actionID );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//ON a start target
|
||||
if ( 11500 > millis() ) {
|
||||
HONDA_DIS_ON; // initalize
|
||||
return;
|
||||
} else if ( 18000 > millis() ) {
|
||||
avclanHonda.falseHondaDis();
|
||||
if ( !avclanHonda.isShowRearCam() ) {
|
||||
HONDA_DIS_OFF;
|
||||
return;
|
||||
} else {
|
||||
HONDA_DIS_ON;
|
||||
return;
|
||||
}
|
||||
} else if ( avclanHonda.getCommute() ) {
|
||||
|
||||
|
||||
if ( avclanHonda.isWait() ) {
|
||||
avclanHonda.checkWait();
|
||||
if ( !avclanHonda.isWait() ) avclanHonda.tryToShowHondaDisp();
|
||||
} else {
|
||||
if ( avclanHonda.getCommute() ) {
|
||||
HONDA_DIS_ON;
|
||||
} else {
|
||||
HONDA_DIS_OFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------
|
||||
|
||||
/*
|
||||
|
||||
if ( !avclanHonda.isLockTime() )
|
||||
{
|
||||
if ( avclanHonda.isWait() ) {
|
||||
avclanHonda.checkWait();
|
||||
if (avclanHonda.isWait() == false)
|
||||
avclanHonda.tryToShowHondaDisp();
|
||||
}
|
||||
|
||||
if ( INPUT_IS_SET ) {
|
||||
byte res = avclan.readMessage();
|
||||
if ( !res ) {
|
||||
//LOG
|
||||
// avclan.printMessage(true);
|
||||
avclanHonda.getActionID();
|
||||
if ( avclan.actionID != ACT_NONE ) {
|
||||
avclanHonda.processAction( (AvcActionID)avclan.actionID );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//ON a start target
|
||||
if ( 11500 > millis() ) {
|
||||
HONDA_DIS_ON; // initalize
|
||||
return;
|
||||
} else if ( 18000 > millis() ) {
|
||||
avclanHonda.falseHondaDis();
|
||||
if ( !avclanHonda.isShowRearCam() ) {
|
||||
HONDA_DIS_OFF;
|
||||
return;
|
||||
} else {
|
||||
HONDA_DIS_ON;
|
||||
return;
|
||||
}
|
||||
} else if ( avclanHonda.getCommute() ) {
|
||||
HONDA_DIS_ON;
|
||||
} else {
|
||||
HONDA_DIS_OFF;
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user