1
0
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:
OlegStepanenko_noute
2016-03-12 21:17:29 +02:00
parent 406d68ab92
commit 87b9851a29
10 changed files with 1153 additions and 78 deletions
-2
View File
@@ -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
View File
@@ -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;
+9 -8
View File
@@ -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
View File
@@ -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;
}
}
*/
}
//--------------------------------------------------------------------------------