Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/Tools/Replay/LR_MsgHandler.h
Views: 1798
#pragma once12#include "MsgHandler.h"3#include <AP_AHRS/AP_AHRS.h>4#include <AP_GPS/AP_GPS.h>5#include <AP_NavEKF2/AP_NavEKF2.h>6#include <AP_NavEKF3/AP_NavEKF3.h>78class LR_MsgHandler : public MsgHandler {9public:10LR_MsgHandler(struct log_Format &f);11virtual void process_message(uint8_t *msg) = 0;12virtual void process_message(uint8_t *msg, uint8_t &core) {13// base implementation just ignores the core parameter;14// subclasses can override to fill the core in if they feel15// like it.16process_message(msg);17}18};1920class LR_MsgHandler_RFRH : public LR_MsgHandler21{22public:23using LR_MsgHandler::LR_MsgHandler;24void process_message(uint8_t *msg) override;25};2627class LR_MsgHandler_EKF : public LR_MsgHandler28{29public:30LR_MsgHandler_EKF(struct log_Format &_f, NavEKF2 &_ekf2, NavEKF3 &_ekf3) :31LR_MsgHandler(_f),32ekf2(_ekf2),33ekf3(_ekf3) {}34using LR_MsgHandler::LR_MsgHandler;35virtual void process_message(uint8_t *msg) override = 0;36protected:37NavEKF2 &ekf2;38NavEKF3 &ekf3;39};4041class LR_MsgHandler_RFRF : public LR_MsgHandler_EKF42{43using LR_MsgHandler_EKF::LR_MsgHandler_EKF;44void process_message(uint8_t *msg) override;45};4647class LR_MsgHandler_ROFH : public LR_MsgHandler_EKF48{49using LR_MsgHandler_EKF::LR_MsgHandler_EKF;50void process_message(uint8_t *msg) override;51};5253class LR_MsgHandler_REPH : public LR_MsgHandler_EKF54{55using LR_MsgHandler_EKF::LR_MsgHandler_EKF;56void process_message(uint8_t *msg) override;57};5859class LR_MsgHandler_RSLL : public LR_MsgHandler_EKF60{61using LR_MsgHandler_EKF::LR_MsgHandler_EKF;62void process_message(uint8_t *msg) override;63};6465class LR_MsgHandler_REVH : public LR_MsgHandler_EKF66{67using LR_MsgHandler_EKF::LR_MsgHandler_EKF;68void process_message(uint8_t *msg) override;69};7071class LR_MsgHandler_RWOH : public LR_MsgHandler_EKF72{73using LR_MsgHandler_EKF::LR_MsgHandler_EKF;74void process_message(uint8_t *msg) override;75};7677class LR_MsgHandler_RBOH : public LR_MsgHandler_EKF78{79using LR_MsgHandler_EKF::LR_MsgHandler_EKF;80void process_message(uint8_t *msg) override;81};8283class LR_MsgHandler_RFRN : public LR_MsgHandler84{85public:86using LR_MsgHandler::LR_MsgHandler;87void process_message(uint8_t *msg) override;88};8990class LR_MsgHandler_REV2 : public LR_MsgHandler_EKF91{92public:93using LR_MsgHandler_EKF::LR_MsgHandler_EKF;94void process_message(uint8_t *msg) override;95};9697class LR_MsgHandler_RSO2 : public LR_MsgHandler_EKF98{99public:100using LR_MsgHandler_EKF::LR_MsgHandler_EKF;101void process_message(uint8_t *msg) override;102};103104class LR_MsgHandler_RWA2 : public LR_MsgHandler_EKF105{106public:107using LR_MsgHandler_EKF::LR_MsgHandler_EKF;108void process_message(uint8_t *msg) override;109};110111112class LR_MsgHandler_REV3 : public LR_MsgHandler_EKF113{114public:115using LR_MsgHandler_EKF::LR_MsgHandler_EKF;116void process_message(uint8_t *msg) override;117};118119class LR_MsgHandler_RSO3 : public LR_MsgHandler_EKF120{121public:122using LR_MsgHandler_EKF::LR_MsgHandler_EKF;123void process_message(uint8_t *msg) override;124};125126class LR_MsgHandler_RWA3 : public LR_MsgHandler_EKF127{128public:129using LR_MsgHandler_EKF::LR_MsgHandler_EKF;130void process_message(uint8_t *msg) override;131};132133class LR_MsgHandler_REY3 : public LR_MsgHandler_EKF134{135public:136using LR_MsgHandler_EKF::LR_MsgHandler_EKF;137void process_message(uint8_t *msg) override;138};139140class LR_MsgHandler_RISH : public LR_MsgHandler141{142public:143using LR_MsgHandler::LR_MsgHandler;144void process_message(uint8_t *msg) override;145};146class LR_MsgHandler_RISI : public LR_MsgHandler147{148public:149using LR_MsgHandler::LR_MsgHandler;150void process_message(uint8_t *msg) override;151};152class LR_MsgHandler_RASH : public LR_MsgHandler153{154public:155using LR_MsgHandler::LR_MsgHandler;156void process_message(uint8_t *msg) override;157};158class LR_MsgHandler_RASI : public LR_MsgHandler159{160public:161using LR_MsgHandler::LR_MsgHandler;162void process_message(uint8_t *msg) override;163};164165class LR_MsgHandler_RBRH : public LR_MsgHandler166{167public:168using LR_MsgHandler::LR_MsgHandler;169void process_message(uint8_t *msg) override;170};171class LR_MsgHandler_RBRI : public LR_MsgHandler172{173public:174using LR_MsgHandler::LR_MsgHandler;175void process_message(uint8_t *msg) override;176};177178class LR_MsgHandler_RRNH : public LR_MsgHandler179{180public:181using LR_MsgHandler::LR_MsgHandler;182void process_message(uint8_t *msg) override;183};184class LR_MsgHandler_RRNI : public LR_MsgHandler185{186public:187using LR_MsgHandler::LR_MsgHandler;188void process_message(uint8_t *msg) override;189};190191class LR_MsgHandler_RGPH : public LR_MsgHandler192{193public:194using LR_MsgHandler::LR_MsgHandler;195void process_message(uint8_t *msg) override;196};197class LR_MsgHandler_RGPI : public LR_MsgHandler198{199public:200using LR_MsgHandler::LR_MsgHandler;201void process_message(uint8_t *msg) override;202};203class LR_MsgHandler_RGPJ : public LR_MsgHandler204{205public:206using LR_MsgHandler::LR_MsgHandler;207void process_message(uint8_t *msg) override;208};209210class LR_MsgHandler_RMGH : public LR_MsgHandler211{212public:213using LR_MsgHandler::LR_MsgHandler;214void process_message(uint8_t *msg) override;215};216class LR_MsgHandler_RMGI : public LR_MsgHandler217{218public:219using LR_MsgHandler::LR_MsgHandler;220void process_message(uint8_t *msg) override;221};222class LR_MsgHandler_RBCH : public LR_MsgHandler223{224public:225using LR_MsgHandler::LR_MsgHandler;226void process_message(uint8_t *msg) override;227};228class LR_MsgHandler_RBCI : public LR_MsgHandler229{230public:231using LR_MsgHandler::LR_MsgHandler;232void process_message(uint8_t *msg) override;233};234235class LR_MsgHandler_RVOH : public LR_MsgHandler236{237public:238using LR_MsgHandler::LR_MsgHandler;239void process_message(uint8_t *msg) override;240};241242class LR_MsgHandler_PARM : public LR_MsgHandler243{244public:245LR_MsgHandler_PARM(log_Format &_f) :246LR_MsgHandler(_f)247{};248249void process_message(uint8_t *msg) override;250251private:252bool set_parameter(const char *name, const float value);253};254255256