29 lines
1011 B
C
29 lines
1011 B
C
#ifndef SEAT_DEMO_COMPAT_H
|
|
#define SEAT_DEMO_COMPAT_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
/* The compatibility runtime shares the production CAN0 instance and the
|
|
* production four-axis motor state. It never initializes another CAN block
|
|
* and Demo motion deliberately has no heartbeat/lease dependency. */
|
|
void SeatDemoCompat_Init(void);
|
|
void SeatDemoCompat_Service(void);
|
|
|
|
/* Ownership hand-off used by the native 0x6A0 runtime. */
|
|
void SeatDemoCompat_ReleaseAxisForNative(uint32_t axis);
|
|
void SeatDemoCompat_StopAllFromNative(void);
|
|
void SeatDemoCompat_PrepareForBootloader(void);
|
|
bool SeatDemoCompat_IsAxisOwned(uint32_t axis);
|
|
bool SeatDemoCompat_IsAnyMotorOwned(void);
|
|
|
|
/* Native 0x6A0 absolute moves share the same four-axis task engine as the
|
|
* Demo 0x300 protocol. A zero duty selects the Demo default; 1..95 is exact. */
|
|
uint8_t SeatDemoCompat_StartNativeMove(
|
|
uint8_t sequence,
|
|
uint32_t axis,
|
|
uint32_t targetPermille,
|
|
uint8_t dutyPercent);
|
|
|
|
#endif /* SEAT_DEMO_COMPAT_H */
|