26namespace net {
namespace ble {
struct TransportState; } }
80 void tick(uint32_t current_millis);
void printStreamRaw(const char *messageType, const fl::json &data)
Print JSONL stream message directly to Serial, bypassing fl::println.
void printJsonRaw(const fl::json &json, const char *prefix="REMOTE: ")
Print JSON directly to Serial, bypassing fl::println and ScopedLogDisable This ensures RPC responses ...
fl::shared_ptr< fl::RxChannel >(*)(int pin) RxDeviceFactory
Factory function type for creating RxChannel instances.
bool gpio_baseline_test_done
fl::shared_ptr< fl::RxChannel > rx_channel
fl::span< uint8_t > rx_buffer
fl::vector< fl::DriverInfo > drivers_available
bool deliberate_hang_requested
RxDeviceFactory rx_factory
AutoResearch runtime state (shared between main loop and RPC handlers)
fl::unique_ptr< fl::Remote > remote
fl::json stopBleRemote()
Stop BLE remote (destroys BLE Remote + GATT server)
fl::json runParallelTestImpl(const fl::json &args)
AutoResearchRemoteControl()
Constructor.
void tick(uint32_t current_millis)
Process RPC system (pull + tick + push)
fl::Remote * getRemote()
Get underlying Remote instance.
fl::json runSingleTestImpl(const fl::json &args)
fl::net::ble::TransportState * mBleState
fl::unique_ptr< fl::Remote > mBleRemote
fl::shared_ptr< AutoResearchState > mState
fl::json findConnectedPinsImpl(const fl::json &args)
void registerFunctions(fl::shared_ptr< AutoResearchState > state)
Register all RPC functions with shared autoresearch state.
~AutoResearchRemoteControl()
Destructor.
fl::json startBleRemote()
Start BLE remote (creates BLE GATT server + second Remote instance)
void registerAllMethods(fl::Remote *remote)
Register all RPC methods on a given Remote instance.
fl::unique_ptr< fl::Remote > mRemote
JSON-RPC server with scheduling support.
Unified manager for channel drivers with priority-based fallback.
Base definition for an LED controller.