You may use or copy the following application software and source code, for personal or commercial use without charge, but you may not resell it for profit. This statement must be included in any copies you distribute. Qenesis Inc. and the author retain all rights and title to this software and permit its use without any warranty whatsoever. The examples provided in this software may not be suitable for your unique situation, so suitability for use of this software or the concepts illustrated is completely and entirely your own responsibility. By using it, you agree to waive any right of claim against Qenesis Inc. and the author. Liabilities for damages is limited to what you paid to use this software, which is zero. If you live in a location where limitations on liabilities may not be restricted, then you are not permitted to download this software.
Enquiries concerning this software may be directed to firstname.lastname@example.org
MKLIB is a utility that allows creating a bunch of small .c source files and then have them automatically put into a library that can be used when you link. This does not create a shared library that lives in memory, but instead makes maintenance of many .o files easier for inclusion in your programs.Read the details in the mklib.tgz.readme.
Dev.arnet is a Dev driver to support the entire line of Arnet asynchronous serial cards. There is a 32 bit version for QNX 4.23 and later and a 16 bit version for QNX 4.2x. It supports the following cards:
Please note that Arnet products are now available through Digi International.cksum 2587678805 186541 arn100m.pax.F
PlayCD is an audio CD player application written in Photon to work together with the Creative Labs SoundBlaster series of sound cards. It was written as a sample application, so you can follow the well-commented source code to see how things are done. The binary is also included, in case you do not have the Watcom C compiler available.Download the source playcd12.tgz.
PowerHouse X10 is a system for sending signals through the power lines in your house to devices which can turn your lights and appliances on and off. A low-level interface provides a square wave, synchronized to the zero crossings of the mains 60Hz sine wave. It is necessary to provide a signal to this interface within 10 microseconds of each zero crossing in order to produce the packet used to signal the devices.
This is an excellent demonstration opportunity to show how a simple QNX and Photon application can be interfaced with a short interrupt service routine and showcase some of the graphical possibilities of Photon.
To provide a simple hardware interface, a standard serial port is used. Conveniently, the modem status lines will provide an interrupt on both a rising and falling edge, which is exactly what is required. The Dev.ser driver is not used, and the UART bits are twiddled directly by the interrupt service routine.
The Photon user interface allows the user to select the address of one device, command it to be turned on or off, and if on, command it to be dimmed or brightened. Since the packets take almost 1 second to transmit each, it is common for the user to get ahead of the device, so a current output status is also displayed.
So this example illustrates the following: