PulseDelayP 1.1 by Rod ----------------------------------------------------------------- Serial port digital pulse delayer and repeater http://ausilio.altervista.org/ It samples a pulse on the RXD pin and generate a delayed sequence of pulses on the TXD pin You can trigger it manually too _ Trigger RX _| |____________________________________________________ <- Delay -> _____________ _____________ TX _______________| Pulse Width |_________| Pulse Width |__ <---- Repeat Time ----> The Repeat Time represents the period before next pulse and starts from the beginning of the previous pulse, so, must be greater that Pulse With It's useful for photography shutter triggering or every time you need a programmable delay on an event or a sequence of pulses. You can trigger from the serial RXD input or manually. Hardware keys are associated to Start, Trigger and Stop. The typical precision is 10ms or less, enabling Hi-Res time you can go down to about 1ms. OneShot: auto stop after the first pulses sequence Sound: enable sound on events; it reduces the determinism so it's disabled with Hi-Res Time At End: it sounds at the end of the pulse sequence, it do not interferes with determinism Status: write status on events; it reduces the determinism so it's disabled with Hi-Res Time Log: enable logging to LoggerP application (PulseDP log file) You can call LoggerP from menu/LoggerP and return to PulseDelayP from menu/Exit Use LoggerPW PC side to convert it CSV: the Log output is in CSV text format Use LoggerPW PC side to convert it in CSV txt format, you can import it in OpenOffice or Excel Hi-Res Time: enable high precision time (use it for few seconds, the Palm will freeze for all that period) For Hi-Res is suggested an high baudrate (e.g. 115200) Calibrate: set an Hi-Res time calibration value for your specific Palm for the Palm IIIxe it's 39 Calibration method 1 (with oscilloscope or audio card as oscilloscope) Set: -Calibrate to 40 -Delay to 100 -Pulse with to 100 -Repeat time to 200 -Repeat number to 2 So the total sequence time from trigger is 400ms Select Hi-Res Trigger from serial, if you trigger manually you'll see the two pulses only, so, you have to use 300 instead of 400 in the calculus Measure the whole sequence, naming it Tmis The right Calibrate to set is = 40*400/Tmis Repeating the measure with the new value you should get about 400ms Calibration method 2, less precise (with an hand chronometer) Set: -Calibrate to 40 -Delay to 1000 -Pulse with to 1000 -Repeat time to 2000 -Repeat number to 2 So the total sequence time from trigger is 4000ms From preferences select "At End" to hear the completion sound Select Hi-Res Trigger from button Measure the whole sequence, naming it Tmis The right Calibrate to set is = 40*4000/Tmis Repeating the measure with the new value you should get about 4000ms Serial Port: In Prefs insert the short (e.g. 0) or the expanded number (e.g. 32768) (0) 32768 Physical HotSync (RS-232 or USB). (1) 32769 IR port. (2) 32770 Debug console (RS-232 or USB). (3) 32771 RS-232 cradle. (4) 32772 USB cradle. (5) 1966289464 Cradle port using the 68328 UART. (6) 1966622042 Cradle port using the 68328EZ UART. (7) 1966486832 Specifies the IR port on the upgrade card. (8) 1651794800 Bluetooth Connection virtual. (9) 1769104237 IrDA IRComm protocol virtual. (10) 1919312749 Bluetooth RFCOMM virtual. The input pulse must be greater then the serial char length, that's about 10/baudrate. A typical hardware may be: Input: - Optical or audio sensor - Amplification, filtering and Schmitt trigger - Serial Out level translator to Palm RXD Output: - Serial In level translator from Palm TXD - Low pass filter - Schmitt trigger - OC transistor switch to the camera PAY ATTENTION when you put the signal on the pins or you'll fire the Palm DON'T do it if you are not an hardware expert Use it at your own risk ----------------------------------------------------------------- Installation: Just as usual; overwrite previous version. ----------------------------------------------------------------- Normal remove (preferred): Remove it from the palm launcher menu as any other application. Manual remove (expert only): Erase PulseDelayP.prc Erase Saved and Unsaved preferences with Creator ID equal to PdlP ----------------------------------------------------------------- Version Info: 1.1 * Hi-Res Time * Log to LoggerP * Status on events * Sound on events 1.0 * Start release ----------------------------------------------------------------- This software is released as freeware in the hope may be useful and enjoyable :-) Read the included license and warranty. All trademarks are own by the respective owners. Some software function may be regulated by local law, any illegal use is forbidden. http://ausilio.altervista.org/ ----------------------------------------------------------------- Software License and Warranty Agreement With the term "the software" I intend the binary program named PulseDelayP and the associated files. You should carefully read the following terms and conditions before using "the software", your use of "the software" indicates your acceptance of this license and warranty agreement. If you do not agree to all of the terms of this agreement, you shall remove "the software" from your storage media and cease any further use of "the software". "The software" is a freeware program and may be used and distributed free of charge provided that "the software", this License and Warranty Agreement and the copyright notice may not be modified. You assume all risks and consequences associated with the use of "the software". THE SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ON AN "AS IS" BASIS; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF DATA OR PROFITS; BUSINESS INTERRUPTION; OR DATA BEING RENDERED INACCURATE) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF "THE SOFTWARE", EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------- Document version 1.1.5