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.
 
 
 
 
 
 

50 rivejä
1.0 KiB

  1. #ifndef PLSR_INTERNAL_H
  2. #define PLSR_INTERNAL_H
  3. #include <stdint.h>
  4. #define PLSR_SEGMENT_COUNT_MAX (10U)
  5. #define PLSR_FREQUENCY_MAX_HZ (100000UL)
  6. typedef struct
  7. {
  8. uint32_t frequencyHz;
  9. int32_t pulses;
  10. uint16_t waitType;
  11. uint16_t waitTimeMs;
  12. uint16_t actTimeMs;
  13. uint16_t jumpSegment;
  14. } PLSR_SEGMENT_CONFIG;
  15. typedef struct
  16. {
  17. uint16_t pulseOutput;
  18. uint16_t directionOutput;
  19. uint16_t waitInput;
  20. uint16_t extInput;
  21. uint16_t sendMode;
  22. uint16_t directionDelayMs;
  23. uint16_t directionNegativeLogic;
  24. uint16_t curveMode;
  25. uint16_t positionMode;
  26. uint16_t segmentCount;
  27. uint16_t startSegment;
  28. uint32_t defaultSpeedHz;
  29. uint32_t startSpeedHz;
  30. uint32_t stopSpeedHz;
  31. uint16_t accelerationTimeMs;
  32. uint16_t decelerationTimeMs;
  33. PLSR_SEGMENT_CONFIG segments[PLSR_SEGMENT_COUNT_MAX];
  34. } PLSR_CONFIG;
  35. typedef struct
  36. {
  37. PLSR_CONFIG config;
  38. int32_t position;
  39. uint8_t positionValid;
  40. uint8_t wasBusy;
  41. uint16_t reserved;
  42. } PLSR_PERSIST_PAYLOAD;
  43. #endif /* PLSR_INTERNAL_H */