eth_worker.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. typedef struct EthWorker EthWorker;
  3. typedef struct EthViewProcess EthViewProcess;
  4. typedef enum {
  5. EthWorkerStateNotInited = 0,
  6. EthWorkerStateModuleInit,
  7. EthWorkerStateModulePowerOn,
  8. EthWorkerStateModuleConnect,
  9. EthWorkerStateMACInit,
  10. EthWorkerStateStaticIp,
  11. EthWorkerStateDHCP,
  12. EthWorkerStatePing,
  13. EthWorkerStateStop,
  14. } EthWorkerState;
  15. typedef enum {
  16. EthWorkerSubstateInProcess = 0,
  17. EthWorkerSubStateSuccess,
  18. EthWorkerSubStateError,
  19. } EthWorkerSubState;
  20. typedef enum {
  21. EthCustomEventUpdate = 0,
  22. EthCustomEventModuleInit,
  23. EthCustomEventModuleError,
  24. EthCustomEventModulePowerOn,
  25. EthCustomEventModuleConnect,
  26. EthCustomEventMACInit,
  27. EthCustomEventStaticIp,
  28. EthCustomEventDHCP,
  29. EthCustomEventPing,
  30. EthCustomEventTCP2UART,
  31. EthCustomEventTCP2CLI,
  32. EthCustomEventSaved,
  33. } EthCustomEvent;
  34. typedef void (*EthWorkerCallback)(EthCustomEvent event, void* context);
  35. EthWorker* eth_worker_alloc();
  36. EthWorkerState eth_worker_get_state(EthWorker* eth_worker);
  37. void eth_worker_free(EthWorker* eth_worker);
  38. void eth_worker_start(
  39. EthWorker* eth_worker,
  40. EthWorkerState state,
  41. EthWorkerCallback callback,
  42. void* context);
  43. void eth_worker_stop(EthWorker* eth_worker);
  44. void eth_worker_dhcp(EthWorker* eth_worker);
  45. void eth_worker_w5500(EthWorker* eth_worker);
  46. void eth_worker_init_process(EthWorker* eth_worker);