hal.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef CX_CHLCD_HAL_H_INCLUDED
  2. #define CX_CHLCD_HAL_H_INCLUDED
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include "chlcd/types.h"
  6. #ifdef CHLCD_ON_ESP
  7. static inline chlcd_error_t chlcd_pin_set_output(chlcd_pin_t target) {
  8. }
  9. static inline chlcd_error_t chlcd_pin_write(chlcd_pin_t target, bool state) {
  10. }
  11. static inline chlcd_error_t chlcd_pin_set_pwm(chlcd_pin_t target) {
  12. }
  13. static inline chlcd_error_t chlcd_pin_write_pwm(
  14. chlcd_pin_t target,
  15. uint16_t pwm
  16. ) {
  17. }
  18. #else
  19. #define CHLCD_MODE_DEBUG
  20. #include <stdio.h>
  21. static inline chlcd_error_t chlcd_pin_set_output(chlcd_pin_t target) {
  22. printf("Pin %li mode set to output.\n", (uint32_t) target);
  23. return CHLCD_SUCCESS;
  24. }
  25. static inline chlcd_error_t chlcd_pin_write(chlcd_pin_t target, bool state) {
  26. printf("Pin %li set to %s.\n", (uint32_t) target, state ? "HIGH" : "LOW");
  27. return CHLCD_SUCCESS;
  28. }
  29. static inline chlcd_error_t chlcd_pin_set_pwm(chlcd_pin_t target) {
  30. printf("Pin %li mode set to PWM.\n", (uint32_t) target);
  31. return CHLCD_SUCCESS;
  32. }
  33. static inline chlcd_error_t chlcd_pin_write_pwm(
  34. chlcd_pin_t target,
  35. uint16_t pwm
  36. ) {
  37. printf("Pin %li write to PWM %i.\n", (uint32_t) target, pwm);
  38. return CHLCD_SUCCESS;
  39. }
  40. #endif
  41. #endif