From e90731e7b9f01b44b9bd975cc72943a110c46c5b Mon Sep 17 00:00:00 2001 From: gstellenberg Date: Sun, 11 Apr 2010 19:30:08 -0500 Subject: [PATCH] Added PRDriverPulsedPatter for patter bursts. --- examples/pinproctest/pinproctest.cpp | 7 ++++++- include/pinproc.h | 5 +++++ src/pinproc.cpp | 7 +++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/examples/pinproctest/pinproctest.cpp b/examples/pinproctest/pinproctest.cpp index ffd3127..600889f 100644 --- a/examples/pinproctest/pinproctest.cpp +++ b/examples/pinproctest/pinproctest.cpp @@ -216,10 +216,15 @@ int main(int argc, const char **argv) for (i=0; i<8; i++) { PRDriverSchedule(proc, 80+i, 0xFF00FF00, 0, 0); } + //PRDriverSchedule(proc, 80, 0xFF00FF00, 0, 0); //PRDriverSchedule(proc, 0, 0xFF00AAAA, 1, 1); - // Pitter-patter a feature lamp for testing purposes. + + // Pitter-patter lamp 84: on 127ms, off 127ms, forever. //PRDriverPatter(proc, 84, 127, 127, 0); + + //Pulsed Patter for coil 48: on 5ms, off 10ms, repeat for 45ms. + //PRDriverPulsedPatter(proc, 48, 5, 10, 45); // Coil 48: on 5ms, off 10ms, repeat for 45ms. /* diff --git a/include/pinproc.h b/include/pinproc.h index 57ce13a..f71ae94 100644 --- a/include/pinproc.h +++ b/include/pinproc.h @@ -247,6 +247,11 @@ PR_EXPORT PRResult PRDriverSchedule(PRHandle handle, uint16_t driverNum, uint32_ * This function is provided for convenience. See PRDriverStatePatter() for a full description. */ PR_EXPORT PRResult PRDriverPatter(PRHandle handle, uint16_t driverNum, uint16_t millisecondsOn, uint16_t millisecondsOff, uint16_t originalOnTime); +/** + * Assigns a pitter-patter schedule (repeating on/off) to the given driver on for the given duration. + * This function is provided for convenience. See PRDriverStatePulsedPatter() for a full description. + */ +PR_EXPORT PRResult PRDriverPulsedPatter(PRHandle handle, uint16_t driverNum, uint16_t millisecondsOn, uint16_t millisecondsOff, uint16_t originalOnTime); /** * Assigns a pitter-patter schedule (repeating on/off) to the given driver for the given duration. * This function is provided for convenience. See PRDriverStatePatter() for a full description. diff --git a/src/pinproc.cpp b/src/pinproc.cpp index 7f9aa34..06fec47 100644 --- a/src/pinproc.cpp +++ b/src/pinproc.cpp @@ -192,6 +192,13 @@ PR_EXPORT PRResult PRDriverPatter(PRHandle handle, uint16_t driverNum, uint16_t PRDriverStatePatter(&driver, millisecondsOn, millisecondsOff, originalOnTime); return handleAsDevice->DriverUpdateState(&driver); } +PR_EXPORT PRResult PRDriverPulsedPatter(PRHandle handle, uint16_t driverNum, uint16_t millisecondsOn, uint16_t millisecondsOff, uint16_t duration) +{ + PRDriverState driver; + handleAsDevice->DriverGetState(driverNum, &driver); + PRDriverStatePulsedPatter(&driver, millisecondsOn, millisecondsOff, duration); + return handleAsDevice->DriverUpdateState(&driver); +} PR_EXPORT PRResult PRDriverAuxSendCommands(PRHandle handle, PRDriverAuxCommand * commands, uint8_t numCommands, uint8_t startingAddr) { return handleAsDevice->DriverAuxSendCommands(commands, numCommands, startingAddr);