/// import { Crazyflie } from '.'; import { TOC, TOCItem } from './toc'; import { TOCFetcher } from './toc-fetcher'; import { EventEmitter } from 'events'; export declare class Logging extends EventEmitter { private crazyflie; tocFetcher: TOCFetcher; blocks: Block[]; private nextBlockId; data: EventEmitter; /** * Class for dealing with the 'logging' port (telemetry) * (https://wiki.bitcraze.io/doc:crazyflie:crtp:log) */ constructor(crazyflie: Crazyflie); /** * Retrieve logging TOC from the Crazyflie. * Required before getting any logging data! */ getTOC(): Promise; /** * Start receiving data of TOC items. Creates a block of variables and activates it. * You can access these variables using various events; check the documentation. * You can optionally specify the interval in milliseconds for the Crazyflie to ping data back to the computer. * (Floors to the nearest 10ms interval) */ start(variables: TOCItem[], millisecondInterval?: number): Promise; /** * Gets a block with a specified id from the `block` array. Not Crazyflie. */ getBlock(id: number): Block; /** * Create a log block * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ createBlock(block: Block): Promise; /** * Appends variables to a block * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ appendToBlock(blockId: number, variables: TOCItem[]): Promise; /** * Deletes a block * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ deleteBlock(blockId: number): Promise; /** * Activate a block so logging data is sent back to computer at a certain interval. * Interval is specified in increments of 10ms (1 = 10ms, 2 = 20ms, etc...) * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ startBlock(blockId: number, interval: number): Promise; /** * Deactivates a block so no more logging data is sent from that block * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ stopBlock(blockId: number): Promise; /** * Stop and delete all blocks * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ reset(): Promise; /** * Handle block response * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_settings_access_port_5_channel_1) */ private handleBlock(data); /** * Handle incoming log data * (https://wiki.bitcraze.io/projects:crazyflie:firmware:comm_protocol#log_data_access_port_5_channel_2) */ private handleLogData(data); } export interface Block { id: number; variables: TOCItem[]; }