lt8920_test.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include "stm32l0xx_hal.h"
  2. #include "lt8920_test.h"
  3. #include "lt8920.h"
  4. #include "stm32l0xx_nucleo.h"
  5. #include <stdio.h>
  6. #include <string.h>
  7. LT8920 lt;
  8. uint16_t wifi_Channels[] = {2412, 2417, 2422, 2427, 2432, 2437, 2442, 2447,
  9. 2452, 2457, 2462, 2467, 2472, 2484};
  10. uint16_t signals[32];
  11. char sbuf[64];
  12. //
  13. void lt_scanner_init(void)
  14. {
  15. lt.begin();
  16. lt.setCurrentControl(15, 15);
  17. //lt.setDataRate(LT8920::LT8920_1MBPS);
  18. lt.setChannel(0x06);
  19. }
  20. //
  21. void lt_scanner_test(void)
  22. {
  23. printf("\033[2J"); // Очистить
  24. printf("\033[H"); // Переместить курсор в левый верхний угол
  25. for(int i = 0; i < sizeof(wifi_Channels)/sizeof(uint16_t); i++)
  26. {
  27. lt.scanRSSI(&signals[i], wifi_Channels[i]-2402, 1);
  28. }
  29. for(int i = 0; i < sizeof(wifi_Channels)/sizeof(uint16_t); i++)
  30. {
  31. sprintf(sbuf, "[%02d] %d = %04x ", i+1, wifi_Channels[i], signals[i]);
  32. printf(sbuf);
  33. for(int j =0 ; j < signals[i]/2; j++)
  34. {
  35. printf("#");
  36. }
  37. printf("\r\n");
  38. }
  39. HAL_Delay(250);
  40. }
  41. //
  42. void lt_sender_init(void)
  43. {
  44. lt.begin();
  45. lt.setCurrentControl(0, 0);
  46. lt.setDataRate(LT8920::LT8920_1MBPS);
  47. lt.setChannel(0x20);
  48. }
  49. //
  50. void lt_sender_test(void)
  51. {
  52. static uint8_t number = 0;
  53. char data[16] = {0};
  54. HAL_Delay(100);
  55. sprintf(data, "number: %d\n", number++);
  56. lt.sendPacket((uint8_t*)data, strlen(data) + 1);
  57. }