ublox_worker.h 931 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "ublox_device.h"
  3. typedef struct UbloxWorker UbloxWorker;
  4. typedef enum {
  5. UbloxWorkerStateNone,
  6. UbloxWorkerStateReady,
  7. UbloxWorkerStateRead,
  8. UbloxWorkerStateResetOdometer,
  9. UbloxWorkerStateStop,
  10. } UbloxWorkerState;
  11. typedef enum {
  12. // reserve space for application events
  13. UbloxWorkerEventReserved = 50,
  14. UbloxWorkerEventSuccess,
  15. UbloxWorkerEventFailed,
  16. UbloxWorkerEventDataReady,
  17. } UbloxWorkerEvent;
  18. typedef void (*UbloxWorkerCallback)(UbloxWorkerEvent event, void* context);
  19. UbloxWorker* ublox_worker_alloc();
  20. UbloxWorkerState ublox_worker_get_state(UbloxWorker* ublox_worker);
  21. void ublox_worker_free(UbloxWorker* ublox_worker);
  22. void ublox_worker_start(UbloxWorker* ublox_worker,
  23. UbloxWorkerState state,
  24. UbloxWorkerCallback callback,
  25. void* context);
  26. void ublox_worker_stop(UbloxWorker* ublox_worker);
  27. bool ublox_worker_init_gps();//UbloxWorker* ublox_worker);