Guest User

Untitled

a guest
Dec 11th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #include "mcu_api.h"
  2. #include "mcu_errno.h"
  3.  
  4. #define OUTPUT 1
  5. #define LED_GPIO 40
  6.  
  7. #define ON 1
  8. #define OFF 0
  9.  
  10. #define PWM0 0
  11.  
  12. #define WAIT_INTERVAL 100
  13.  
  14. #define PWM_DUTY_LEFT_NS 1000000
  15. #define PWM_DUTY_CENTER_NS 1500000
  16. #define PWM_DUTY_RIGHT_NS 2000000
  17. #define PWM_PERIOD_NS 20000000
  18.  
  19. void mcu_main()
  20. {
  21. /* your configuration code starts here */
  22.  
  23. char buf[64];
  24. int len = 0;
  25.  
  26. gpio_setup(LED_GPIO, OUTPUT);
  27.  
  28. pwm_disable(PWM0);
  29. while (1) /* your loop code starts here */
  30. {
  31. len = host_receive((unsigned char*) buf, 64);
  32. if (len >0) {
  33. debug_print(DBG_INFO, "received command!\n");
  34.  
  35. int duty_ns = PWM_DUTY_CENTER_NS;
  36.  
  37. if (strncmp(buf, "left", 4) == 0) {
  38. duty_ns = PWM_DUTY_LEFT_NS;
  39. debug_print(DBG_INFO, "Left\n");
  40. }
  41. else if (strncmp(buf, "right", 5) == 0) {
  42. duty_ns = PWM_DUTY_RIGHT_NS;
  43. debug_print(DBG_INFO, "Right\n");
  44. }
  45. else {
  46. debug_print(DBG_INFO, "Center\n");
  47. }
  48.  
  49. pwm_configure(PWM0, duty_ns, PWM_PERIOD_NS);
  50. pwm_enable(PWM0);
  51. }
  52.  
  53. gpio_write(LED_GPIO, ON);
  54. mcu_sleep(WAIT_INTERVAL);
  55. gpio_write(LED_GPIO, OFF);
  56. mcu_sleep(WAIT_INTERVAL);
  57. }
  58. }
Add Comment
Please, Sign In to add comment