mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 00:28:42 +00:00
log sent messages
This commit is contained in:
@@ -868,6 +868,11 @@ ANT::sendMessage(ANTMessage m) {
|
||||
//for(int i=0; i<m.length+3; i++) fprintf(stderr, "%02x ", m.data[i]);
|
||||
//fprintf(stderr, "\n");
|
||||
|
||||
struct timeval timestamp;
|
||||
gettimeofday(×tamp, NULL);
|
||||
unsigned char RS='S';
|
||||
emit sentAntMessage(RS, m, timestamp);
|
||||
|
||||
rawWrite((uint8_t*)m.data, m.length);
|
||||
|
||||
// this padding is important - do not remove it
|
||||
@@ -948,7 +953,8 @@ ANT::processMessage(void) {
|
||||
|
||||
struct timeval timestamp;
|
||||
get_timeofday (×tamp);
|
||||
emit receivedAntMessage(m, timestamp);
|
||||
unsigned char RS = 'R';
|
||||
emit receivedAntMessage(RS, m, timestamp);
|
||||
|
||||
switch (rxMessage[ANT_OFFSET_ID]) {
|
||||
case ANT_NOTIF_STARTUP:
|
||||
|
||||
@@ -399,7 +399,8 @@ signals:
|
||||
// signal for passing remote control commands
|
||||
void antRemoteControl(uint16_t command);
|
||||
|
||||
void receivedAntMessage(const ANTMessage message, const struct timeval timestamp);
|
||||
void receivedAntMessage(const unsigned char RS, const ANTMessage message, const struct timeval timestamp);
|
||||
void sentAntMessage(const unsigned char RS, const ANTMessage message, const struct timeval timestamp);
|
||||
|
||||
public slots:
|
||||
|
||||
|
||||
@@ -42,11 +42,13 @@ ANTLogger::close()
|
||||
isLogging=false;
|
||||
}
|
||||
|
||||
void ANTLogger::logRawAntMessage(const ANTMessage message, const struct timeval timestamp)
|
||||
void ANTLogger::logRawAntMessage(const unsigned char RS, const ANTMessage message, const struct timeval timestamp)
|
||||
{
|
||||
if (isLogging) {
|
||||
QDataStream out(&antlog);
|
||||
|
||||
out << RS;
|
||||
|
||||
uint64_t millis = (timestamp.tv_sec * (uint64_t)1000) + (timestamp.tv_usec / 1000);
|
||||
|
||||
for (int i=0; i<8; i++) {
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
void logRawAntMessage(const ANTMessage message, const struct timeval timestamp);
|
||||
void logRawAntMessage(const unsigned char RS, const ANTMessage message, const struct timeval timestamp);
|
||||
void open();
|
||||
void close();
|
||||
|
||||
|
||||
@@ -44,7 +44,8 @@ ANTlocalController::ANTlocalController(TrainSidebar *parent, DeviceConfiguration
|
||||
connect(myANTlocal, SIGNAL(antRemoteControl(uint16_t)), this, SLOT(antRemoteControl(uint16_t)));
|
||||
|
||||
// Connect a logger
|
||||
connect(myANTlocal, SIGNAL(receivedAntMessage(const ANTMessage ,const timeval )), &logger, SLOT(logRawAntMessage(const ANTMessage ,const timeval)));
|
||||
connect(myANTlocal, SIGNAL(receivedAntMessage(const unsigned char, const ANTMessage ,const timeval )), &logger, SLOT(logRawAntMessage(const unsigned char, const ANTMessage ,const timeval)));
|
||||
connect(myANTlocal, SIGNAL(sentAntMessage(const unsigned char, const ANTMessage ,const timeval )), &logger, SLOT(logRawAntMessage(const unsigned char, const ANTMessage ,const timeval)));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -15,13 +15,17 @@ import os
|
||||
import struct
|
||||
|
||||
file = open(sys.argv[1], 'rb')
|
||||
for line in range(0, os.path.getsize(sys.argv[1]), 20):
|
||||
for line in range(0, os.path.getsize(sys.argv[1]), 21):
|
||||
|
||||
data = file.read(1)
|
||||
RS = data[0];
|
||||
|
||||
data = file.read(8)
|
||||
timestamp = struct.unpack('L', data)[0]
|
||||
|
||||
data = file.read(12)
|
||||
print str(timestamp) + ': ' \
|
||||
print str(timestamp) + ' - ' \
|
||||
+ RS + ': ' \
|
||||
+ '0x' + (data[0]).encode('hex').upper() + ', ' \
|
||||
+ '0x' + (data[1]).encode('hex').upper() + ', ' \
|
||||
+ '0x' + (data[2]).encode('hex').upper() + ', ' \
|
||||
|
||||
Reference in New Issue
Block a user