|
|
|
@ -7,6 +7,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include "splitflap.h" |
|
|
|
#include "splitflap.h" |
|
|
|
#include "McuULN2003.h" |
|
|
|
#include "McuULN2003.h" |
|
|
|
|
|
|
|
#include <stdbool.h> |
|
|
|
|
|
|
|
#include "McuWait.h" |
|
|
|
|
|
|
|
|
|
|
|
SF_Handle_t SF_Init(SF_Config_t* instance, int id){ |
|
|
|
SF_Handle_t SF_Init(SF_Config_t* instance, int id){ |
|
|
|
SF_t* splitflap; |
|
|
|
SF_t* splitflap; |
|
|
|
@ -24,7 +26,19 @@ SF_Handle_t SF_Init(SF_Config_t* instance, int id){ |
|
|
|
return splitflap; |
|
|
|
return splitflap; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SF_MoveSteps(SF_Handle_t instance, uint8_t steps){ |
|
|
|
|
|
|
|
McuULN2003_AccelerationStart(((SF_t*)instance)->motor); |
|
|
|
|
|
|
|
// maybe move callback?
|
|
|
|
|
|
|
|
while(steps>0){ |
|
|
|
|
|
|
|
if(McuULN2003_StepCallback(((SF_t*)instance)->motor, true) == true){ |
|
|
|
|
|
|
|
steps--; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
McuWait_Waitms(1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
McuULN2003_AccelerationEnd(((SF_t*)instance)->motor); |
|
|
|
|
|
|
|
// Power off necessary? -> what to do after power off? init again?
|
|
|
|
|
|
|
|
McuULN2003_PowerOff(((SF_t*)instance)->motor); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SF_Deinit(SF_Handle_t instance){ |
|
|
|
void SF_Deinit(SF_Handle_t instance){ |
|
|
|
McuULN2003_DeinitMotor(((SF_t*)instance)->motor); |
|
|
|
McuULN2003_DeinitMotor(((SF_t*)instance)->motor); |
|
|
|
|