APIs for controlling Hardware Sync. More...
#include <dji_hardware_sync.hpp>
Public Member Functions | |
HardwareSync (Vehicle *vehiclePtr=0) | |
void | setSyncFreq (uint32_t freqInHz, uint16_t tag=0) |
Call this API to start sending a hardware pulse and set up a software packet to accompany it. More... | |
void | startSync (SyncSettings &data) |
Internal setter function that is called by setSyncFreq function. More... | |
void | subscribeNMEAMsgs (VehicleCallBack cb, void *userData) |
Subscribe to NMEA messages with a callback function. More... | |
void | unsubscribeNMEAMsgs () |
Unsubscribe to NMEA messages. More... | |
bool | getGNRMCMsg (NMEAData &nmea) |
Poll NMEA messages. More... | |
bool | getGNGSAMsg (GNGSAPackage &GNGSA) |
Poll NMEA messages. More... | |
void | subscribeUTCTime (VehicleCallBack cb, void *userData) |
Subscribe to UTC Time tag with a callback function. More... | |
void | unsubscribeUTCTime () |
Unsubscribe to UTC time tag. More... | |
bool | getUTCTime (NMEAData &utc) |
Poll UTC time tag. More... | |
void | subscribeFCTimeInUTCRef (VehicleCallBack cb, void *userData) |
Subscribe to FC Time in UTC referece with a callback function. More... | |
void | unsubscribeFCTimeInUTCRef () |
Unsubscribe to FC Time in UTC referece. | |
bool | getFCTimeInUTCRef (DJI::OSDK::ACK::FCTimeInUTC &fcTimeInUTC) |
Poll FC Time in UTC referece. More... | |
void | subscribePPSSource (VehicleCallBack cb, void *userData) |
Subscribe to PPS source info with a callback function. More... | |
void | unsubscribePPSSource () |
Unsubscribe to PPS source info. More... | |
bool | getPPSSource (PPSSource &source) |
Poll PPS source info. More... | |
void | writeData (const uint8_t cmdID, const RecvContainer *recvContainer) |
Write data when received from UART. More... | |
Public Attributes | |
VehicleCallBackHandler | ppsNMEAHandler |
VehicleCallBackHandler | ppsUTCTimeHandler |
VehicleCallBackHandler | ppsUTCFCTimeHandler |
VehicleCallBackHandler | ppsSourceHandler |
Detailed Description
APIs for controlling Hardware Sync.
These APIs enable you to output a pulse/pulse train along with a software packet with synchronized timestamps and sensor data.
- Note
- You must use this in conjunction with TOPIC_HARD_SYNC subscription.
- You need to set a F-channel to Sync through DJI Assistant 2.
Member Function Documentation
◆ getFCTimeInUTCRef()
bool HardwareSync::getFCTimeInUTCRef | ( | DJI::OSDK::ACK::FCTimeInUTC & | fcTimeInUTC | ) |
Poll FC Time in UTC referece.
- Supported Platforms : M210V2, M300
- Parameters
-
data struct to fill
◆ getGNGSAMsg()
bool HardwareSync::getGNGSAMsg | ( | GNGSAPackage & | GNGSA | ) |
Poll NMEA messages.
- Supported Platforms : M210V2, M300
- Parameters
-
which NMEA message to poll data struct to fill
◆ getGNRMCMsg()
bool HardwareSync::getGNRMCMsg | ( | NMEAData & | nmea | ) |
Poll NMEA messages.
- Supported Platforms : M210V2, M300
- Parameters
-
which NMEA message to poll data struct to fill
◆ getPPSSource()
bool HardwareSync::getPPSSource | ( | PPSSource & | source | ) |
Poll PPS source info.
- Supported Platforms : M210V2, M300
- Parameters
-
data struct to fill
◆ getUTCTime()
bool HardwareSync::getUTCTime | ( | NMEAData & | utc | ) |
Poll UTC time tag.
- Supported Platforms : M210V2, M300
- Parameters
-
data struct to fill
◆ setSyncFreq()
void HardwareSync::setSyncFreq | ( | uint32_t | freqInHz, |
uint16_t | tag = 0 |
||
) |
Call this API to start sending a hardware pulse and set up a software packet to accompany it.
You need to select a pin on DJI Assistant 2 that will output this hardware pulse. To receive the software packet that accompanies this pulse, you will need to subscribe to TOPIC_HARD_SYNC.
- Supported Platforms : M210V2, M300
- Parameters
-
freqInHz The frequency at which you want this pulse to be output. tag Identification to match pulse with the corresponding software packet
◆ startSync()
void HardwareSync::startSync | ( | SyncSettings & | data | ) |
Internal setter function that is called by setSyncFreq function.
Use setSyncFreq instead of this direct interface.
- Supported Platforms : M210V2, M300
- Parameters
-
data Struct of type SyncCmdData.
◆ subscribeFCTimeInUTCRef()
void HardwareSync::subscribeFCTimeInUTCRef | ( | VehicleCallBack | cb, |
void * | userData | ||
) |
Subscribe to FC Time in UTC referece with a callback function.
- Supported Platforms : M210V2, M300
- Parameters
-
callback callback function userData user data (void ptr)
◆ subscribeNMEAMsgs()
void HardwareSync::subscribeNMEAMsgs | ( | VehicleCallBack | cb, |
void * | userData | ||
) |
Subscribe to NMEA messages with a callback function.
- Supported Platforms : M210V2, M300
- Parameters
-
callback callback function userData user data (void ptr)
◆ subscribePPSSource()
void HardwareSync::subscribePPSSource | ( | VehicleCallBack | cb, |
void * | userData | ||
) |
Subscribe to PPS source info with a callback function.
- Supported Platforms : M210V2, M300
- Parameters
-
callback callback function userData user data (void ptr)
◆ subscribeUTCTime()
void HardwareSync::subscribeUTCTime | ( | VehicleCallBack | cb, |
void * | userData | ||
) |
Subscribe to UTC Time tag with a callback function.
- Supported Platforms : M210V2, M300
- Parameters
-
callback callback function userData user data (void ptr)
◆ unsubscribeNMEAMsgs()
void HardwareSync::unsubscribeNMEAMsgs | ( | ) |
Unsubscribe to NMEA messages.
- Supported Platforms : M210V2, M300
◆ unsubscribePPSSource()
void HardwareSync::unsubscribePPSSource | ( | ) |
Unsubscribe to PPS source info.
- Supported Platforms : M210V2, M300
◆ unsubscribeUTCTime()
void HardwareSync::unsubscribeUTCTime | ( | ) |
Unsubscribe to UTC time tag.
- Supported Platforms : M210V2, M300
◆ writeData()
void HardwareSync::writeData | ( | const uint8_t | cmdID, |
const RecvContainer * | recvContainer | ||
) |
Write data when received from UART.
- Supported Platforms : M210V2, M300
- Parameters
-
cmd id received data
The documentation for this class was generated from the following files:
- osdk-core/api/inc/dji_hardware_sync.hpp
- osdk-core/api/src/dji_hardware_sync.cpp