mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-18 03:52:11 +01:00
Ground/SerialLogging: Improved the serial dump from AHRS to have a big random frame header and to detect it on the logging program.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1556 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
755c47d666
commit
9895b403c7
@ -281,7 +281,7 @@ int main()
|
||||
#ifdef DUMP_RAW
|
||||
while(1) {
|
||||
int result;
|
||||
uint8_t sync[4] = {7,7,7,7};
|
||||
uint8_t framing[16] = {7,9,3,15,193,130,150,10,7,9,3,15,193,130,150,10};
|
||||
while( ahrs_state != AHRS_DATA_READY );
|
||||
ahrs_state = AHRS_PROCESSING;
|
||||
|
||||
@ -289,7 +289,7 @@ int main()
|
||||
ahrs_state = AHRS_IDLE;;
|
||||
|
||||
// Dump raw buffer
|
||||
result = PIOS_COM_SendBuffer(PIOS_COM_AUX, &sync[0], 4); // dump block number
|
||||
result = PIOS_COM_SendBuffer(PIOS_COM_AUX, &framing[0], 16); // framing header
|
||||
result += PIOS_COM_SendBuffer(PIOS_COM_AUX, (uint8_t *) &total_conversion_blocks, sizeof(total_conversion_blocks)); // dump block number
|
||||
result += PIOS_COM_SendBuffer(PIOS_COM_AUX, (uint8_t *) &valid_data_buffer[0], ADC_OVERSAMPLE * ADC_CONTINUOUS_CHANNELS * sizeof(valid_data_buffer[0]));
|
||||
if(result == 0)
|
||||
|
@ -18,6 +18,9 @@ public:
|
||||
void run()
|
||||
{
|
||||
QByteArray dat;
|
||||
const char framingRaw[16] = {7,9,3,15,193,130,150,10,7,9,3,15,193,130,150,10};
|
||||
QByteArray framing(framingRaw,16);
|
||||
|
||||
PortSettings Settings;
|
||||
Settings.BaudRate=BAUD57600;
|
||||
Settings.DataBits=DATA_8;
|
||||
@ -40,9 +43,17 @@ public:
|
||||
|
||||
while(1)
|
||||
{
|
||||
dat = serialPort.read(100);
|
||||
qDebug() << dat;
|
||||
dat = serialPort.read(1000);
|
||||
if(dat.contains(framing))
|
||||
{
|
||||
int start = dat.indexOf(framing);
|
||||
int count = *((int *) (dat.data() + start+16));
|
||||
qDebug() << "Found frame start at " << start << " count " << count;
|
||||
}
|
||||
else
|
||||
qDebug() << "No frame start";
|
||||
ts << dat;
|
||||
usleep(50000);
|
||||
}
|
||||
};
|
||||
|
||||
@ -54,7 +65,20 @@ protected:
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
pollSerialPort thread("/dev/tty.usbserial-000014FAB","log.dat"); //argv[0]);
|
||||
QString device;
|
||||
QString log;
|
||||
|
||||
if(argc < 2)
|
||||
device = "/dev/tty.usbserial-000014FAB";
|
||||
else
|
||||
device = QString(argv[1]);
|
||||
|
||||
if(argc < 3)
|
||||
log = "log.dat";
|
||||
else
|
||||
log = QString(argv[2]);
|
||||
|
||||
pollSerialPort thread(device, log);
|
||||
thread.start();
|
||||
return a.exec();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user