1
0
mirror of https://github.com/preble/libpinproc synced 2026-02-24 18:25:23 +01:00

Added support for Aux Port and Pulsed Patter

This commit is contained in:
gstellenberg
2010-04-04 14:19:43 -05:00
parent ed7f0153f0
commit f5754d961b
7 changed files with 255 additions and 19 deletions

View File

@@ -133,6 +133,44 @@ int32_t CreateDriverUpdateBurst ( uint32_t * burst, PRDriverState *driver) {
return kPRSuccess;
}
uint32_t CreateDriverAuxCommand ( PRDriverAuxCommand command) {
switch (command.command) {
case (kPRDriverAuxCmdOutput) : {
return (command.active << P_ROC_DRIVER_AUX_ENTRY_ACTIVE_SHIFT) |
(command.useExtraData << P_ROC_DRIVER_AUX_USE_EXTRA_DATA_SHIFT) |
(command.muxEnables << P_ROC_DRIVER_AUX_MUX_ENABLES_SHIFT) |
((command.command & P_ROC_DRIVER_AUX_COMMAND_MASK) <<
P_ROC_DRIVER_AUX_COMMAND_SHIFT) |
((command.enables & P_ROC_DRIVER_AUX_ENABLES_MASK) <<
P_ROC_DRIVER_AUX_ENABLES_SHIFT) |
((command.extraData & P_ROC_DRIVER_AUX_EXTRA_DATA_MASK) <<
P_ROC_DRIVER_AUX_EXTRA_DATA_SHIFT) |
((command.data & P_ROC_DRIVER_AUX_DATA_MASK) <<
P_ROC_DRIVER_AUX_DATA_SHIFT);
}
break;
case (kPRDriverAuxCmdDelay) : {
return (command.active << P_ROC_DRIVER_AUX_ENTRY_ACTIVE_SHIFT) |
((command.command & P_ROC_DRIVER_AUX_COMMAND_MASK) <<
P_ROC_DRIVER_AUX_COMMAND_SHIFT) |
((command.delayTime & P_ROC_DRIVER_AUX_DELAY_TIME_MASK) <<
P_ROC_DRIVER_AUX_DELAY_TIME_SHIFT);
}
break;
case (kPRDriverAuxCmdJump) : {
return (command.active << P_ROC_DRIVER_AUX_ENTRY_ACTIVE_SHIFT) |
((command.command & P_ROC_DRIVER_AUX_COMMAND_MASK) <<
P_ROC_DRIVER_AUX_COMMAND_SHIFT) |
((command.jumpAddr & P_ROC_DRIVER_AUX_JUMP_ADDR_MASK) <<
P_ROC_DRIVER_AUX_JUMP_ADDR_SHIFT);
}
break;
default : {
return (false << P_ROC_DRIVER_AUX_ENTRY_ACTIVE_SHIFT);
}
}
}
int32_t CreateWatchdogConfigBurst ( uint32_t * burst, bool_t watchdogExpired,
bool_t watchdogEnable, uint16_t watchdogResetTime) {
uint32_t addr;