You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
764 B

1 year ago
  1. #pragma once
  2. #include <stdint.h>
  3. #include "project_dep.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. typedef struct {
  8. uint32_t add;
  9. uint32_t val;
  10. } reg_config_storage_t;
  11. typedef struct {
  12. uint32_t config_mark;
  13. uint32_t obtaining_ip_mode;
  14. uint32_t ip;
  15. uint32_t gw;
  16. uint32_t netmask;
  17. uint32_t config0; //
  18. uint8_t mac[8]; // mac[5:0] is mac, mac[7:6] is pad for 32bit align
  19. reg_config_storage_t reg_config_storage[1024];
  20. uint32_t checksum; // ����Ҫ�༭
  21. } config_t;
  22. void config_init(void);
  23. config_t* config_get(void);
  24. void config_flush(void);
  25. void config_factory_reset(void);
  26. void config_generate_random_mac(void);
  27. void config_dump();
  28. void config_update_reg(uint32_t add, uint32_t val);
  29. #ifdef __cplusplus
  30. }
  31. #endif