mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-04-08 00:53:48 +02:00
AHRS: Serial output option for AHRS and corresponding serial logger.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1414 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
71de54d0a7
commit
c07e1416b7
@ -60,6 +60,9 @@ void DMA1_Channel1_IRQHandler() __attribute__ ((alias ("AHRS_ADC_DMA_Handler")))
|
|||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// For debugging the raw sensors
|
||||||
|
//#define DUMP_RAW
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup AHRS_Definitions
|
* @addtogroup AHRS_Definitions
|
||||||
* @{
|
* @{
|
||||||
@ -271,6 +274,28 @@ int main()
|
|||||||
downsample_data();
|
downsample_data();
|
||||||
converge_insgps();
|
converge_insgps();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DUMP_RAW
|
||||||
|
while(1) {
|
||||||
|
int result;
|
||||||
|
uint8_t sync[4] = {7,7,7,7};
|
||||||
|
while( ahrs_state != AHRS_DATA_READY );
|
||||||
|
ahrs_state = AHRS_PROCESSING;
|
||||||
|
|
||||||
|
downsample_data();
|
||||||
|
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, (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)
|
||||||
|
PIOS_LED_Off(LED1);
|
||||||
|
else {
|
||||||
|
PIOS_LED_On(LED1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/******************* Main EKF loop ****************************/
|
/******************* Main EKF loop ****************************/
|
||||||
while (1) {
|
while (1) {
|
||||||
|
40
ground/src/experimental/SerialLogger/SerialLogger.pro
Normal file
40
ground/src/experimental/SerialLogger/SerialLogger.pro
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#-------------------------------------------------
|
||||||
|
#
|
||||||
|
# Project created by QtCreator 2010-08-25T23:31:09
|
||||||
|
#
|
||||||
|
#-------------------------------------------------
|
||||||
|
|
||||||
|
QT += core
|
||||||
|
QT -= gui
|
||||||
|
|
||||||
|
TARGET = SerialLogger
|
||||||
|
CONFIG += console
|
||||||
|
CONFIG -= app_bundle
|
||||||
|
|
||||||
|
TEMPLATE = app
|
||||||
|
|
||||||
|
INCLUDEPATH += ../../libs/qextserialport/src
|
||||||
|
|
||||||
|
# event driven device enumeration on windows requires the gui module
|
||||||
|
win32:QT += gui
|
||||||
|
|
||||||
|
HEADERS = ../../libs/qextserialport/src/qextserialport.h \
|
||||||
|
../../libs/qextserialport/src/qextserialenumerator.h \
|
||||||
|
../../libs/qextserialport/src/qextserialport_global.h
|
||||||
|
SOURCES = ../../libs/qextserialport/src/qextserialport.cpp
|
||||||
|
|
||||||
|
unix:SOURCES += ../../libs/qextserialport/src/posix_qextserialport.cpp
|
||||||
|
unix:!macx:SOURCES += ../../libs/qextserialport/src/qextserialenumerator_unix.cpp
|
||||||
|
macx {
|
||||||
|
SOURCES += ../../libs/qextserialport/src/qextserialenumerator_osx.cpp
|
||||||
|
LIBS += -framework IOKit -framework CoreFoundation
|
||||||
|
}
|
||||||
|
|
||||||
|
win32 {
|
||||||
|
SOURCES += ../../libs/qextserialport/src/win_qextserialport.cpp
|
||||||
|
SOURCES += ../../libs/qextserialport/src/qextserialenumerator_win.cpp
|
||||||
|
DEFINES += WINVER=0x0501 # needed for mingw to pull in appropriate dbt business...probably a better way to do this
|
||||||
|
LIBS += -lsetupapi
|
||||||
|
}
|
||||||
|
|
||||||
|
SOURCES += main.cpp
|
60
ground/src/experimental/SerialLogger/main.cpp
Normal file
60
ground/src/experimental/SerialLogger/main.cpp
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#include <QtCore/QCoreApplication>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QThread>
|
||||||
|
#include <QString>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QTextStream>
|
||||||
|
#include <qextserialport.h>
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
class pollSerialPort : public QThread
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
pollSerialPort(QString dn, QString fn) : device(dn), outFile(fn)
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
void run()
|
||||||
|
{
|
||||||
|
QByteArray dat;
|
||||||
|
PortSettings Settings;
|
||||||
|
Settings.BaudRate=BAUD57600;
|
||||||
|
Settings.DataBits=DATA_8;
|
||||||
|
Settings.Parity=PAR_NONE;
|
||||||
|
Settings.StopBits=STOP_1;
|
||||||
|
Settings.FlowControl=FLOW_HARDWARE;
|
||||||
|
Settings.Timeout_Millisec=500;
|
||||||
|
|
||||||
|
QextSerialPort serialPort(device, Settings);
|
||||||
|
serialPort.open(QIODevice::ReadOnly);
|
||||||
|
|
||||||
|
QFile file(outFile);
|
||||||
|
if( !file.open( QIODevice::WriteOnly ) )
|
||||||
|
{
|
||||||
|
qDebug() << "Failed to open file: " << outFile;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QTextStream ts( &file );
|
||||||
|
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
dat = serialPort.read(10);
|
||||||
|
qDebug() << dat;
|
||||||
|
ts << dat;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString device;
|
||||||
|
QString outFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QCoreApplication a(argc, argv);
|
||||||
|
pollSerialPort thread("/dev/tty.usbserial-000014FAB","log.dat"); //argv[0]);
|
||||||
|
thread.start();
|
||||||
|
return a.exec();
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user