supported_hardware:pigpio
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
supported_hardware:pigpio [2019/06/23 12:02] – [PI GPIO] James Sentman | supported_hardware:pigpio [2023/02/13 14:52] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
The [[http:// | The [[http:// | ||
+ | |||
====Installation==== | ====Installation==== | ||
Line 34: | Line 35: | ||
====Pin Types:==== | ====Pin Types:==== | ||
No units are created automatically by this plugin since there are so many pins it would be frustrating to have it create so many potentially unneeded units. Instead create a new Unit on your PIGPIO interface and set the Address of the unit to the pin number that you would like to control. XTension will ignore the pins that you do not have units configured for so they may be used by other processes without interference. | No units are created automatically by this plugin since there are so many pins it would be frustrating to have it create so many potentially unneeded units. Instead create a new Unit on your PIGPIO interface and set the Address of the unit to the pin number that you would like to control. XTension will ignore the pins that you do not have units configured for so they may be used by other processes without interference. | ||
+ | |||
+ | < | ||
===Digital Input:=== | ===Digital Input:=== | ||
Line 50: | Line 53: | ||
==Debounce Micros:== | ==Debounce Micros:== | ||
If you’re connecting the pin to a switch or a button you will need to set a debounce period. Any physical switch will have a few milliseconds during the transition where the actual read value will be switching wildly back and forth between on and off before it settles down. This value is the amount of time the reading must be stable in MICROseconds (not milliseconds) before the change will be reported. Without this you’re likely to get dozens or even hundreds of updates back and forth during the first fraction of a second after you press the button. A value of 10,000 is the default and seems good for most devices I’ve used it with. The value must be stable for 10 milliseconds before the change is reported. Value values are from 0 to 300,000. | If you’re connecting the pin to a switch or a button you will need to set a debounce period. Any physical switch will have a few milliseconds during the transition where the actual read value will be switching wildly back and forth between on and off before it settles down. This value is the amount of time the reading must be stable in MICROseconds (not milliseconds) before the change will be reported. Without this you’re likely to get dozens or even hundreds of updates back and forth during the first fraction of a second after you press the button. A value of 10,000 is the default and seems good for most devices I’ve used it with. The value must be stable for 10 milliseconds before the change is reported. Value values are from 0 to 300,000. | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
===Digital Output:=== | ===Digital Output:=== | ||
Digital output pins have no other options to setup. They will be connected to ground when the Unit in XTension is off and to the positive voltage of the Pi when turned on. (unless you set them to reverse logic in XTension) Please read the documentation on the Pi to learn how much current you can pull from these pins, (it’s not very much at all) before you will burn them out. You can connect a single LED to a pin with the proper resistor, but not one to every pin without some other external hardware to take the load off the Pi itself. | Digital output pins have no other options to setup. They will be connected to ground when the Unit in XTension is off and to the positive voltage of the Pi when turned on. (unless you set them to reverse logic in XTension) Please read the documentation on the Pi to learn how much current you can pull from these pins, (it’s not very much at all) before you will burn them out. You can connect a single LED to a pin with the proper resistor, but not one to every pin without some other external hardware to take the load off the Pi itself. | ||
+ | |||
+ | < | ||
===Servo Control:=== | ===Servo Control:=== | ||
Line 60: | Line 69: | ||
The Servo pin Unit also supports the “rate” parameter of the [[dictionary: | The Servo pin Unit also supports the “rate” parameter of the [[dictionary: | ||
+ | |||
+ | < | ||
===PWM=== | ===PWM=== | ||
Line 68: | Line 79: | ||
The PWM unit type lets you choose the PWM frequency of the output. Slower rates may produce visible and annoying flicker in any led’s attached, but very high frequencies may cause ballasted lamps to overheat and either burn out or become a fire hazard. In my testing a value of 800hz was more than enough to make the flickering invisible to my eye. | The PWM unit type lets you choose the PWM frequency of the output. Slower rates may produce visible and annoying flicker in any led’s attached, but very high frequencies may cause ballasted lamps to overheat and either burn out or become a fire hazard. In my testing a value of 800hz was more than enough to make the flickering invisible to my eye. | ||
+ | < | ||
+ | |||
+ | ===Hardware Serial Port=== | ||
+ | {{: | ||
+ | |||
+ | The data is brought out to a TCP Socket listening on the port you enter in the “Route to Local TCP Port” setting. This connection will accept only a single client at a time and the port number must be unique on the system. You can connect to this with any application that could connect to a TCP Port or any of the XTension plugins with that capability. | ||
+ | |||
+ | As an aide to debugging you can select to have all data that passes through the port written to the XTension log. For binary protocols it may be helpful to use the “Write as hex instead of ascii” option. | ||
+ | |||
+ | The Unit in XTension must have a unique Address even though the Units address is not used. If you create the Unit while the interface is running you may leave the address field empty and it will automatically fill it in with the same path to the serial port. If you are creating units without the interface running you must manually give them a unique address. Just a count of the other Hardware Serial units you’ve created so far would be enough. | ||
+ | |||
+ | **IMPORTANT: | ||
+ | |||
+ | < | ||
+ | |||
+ | ===Software Serial Port=== | ||
+ | {{: | ||
+ | |||
+ | The data is brought out to a TCP Socket listening on the port you enter in the “Route to Local TCP Port” setting. This connection will accept only a single client at a time and the port number must be unique on the system. You can connect to this with any application that could connect to a TCP Port or any of the XTension plugins with that capability. | ||
+ | |||
+ | As an aide to debugging you can select to have all data that passes through the port written to the XTension log. For binary protocols it may be helpful to use the “Write as hex instead of ascii” option. | ||
+ | |||
+ | All Units in XTension must have a unique address for every given device type. The Address for this unit is not used for routing messages but must still be unique among all the other Software Serial Units you may create. If you create the unit while the interface is running you can leave the Address field blank and it will fill it in with the format of (incoming pin number or “None”).(outgoing pin number or “None”) If you are creating units without the interface running you must manually supply a unique address for the unit. Just a count of the number of software serial units you’re creating is enough. | ||
+ | |||
+ | **IMPORTANT: | ||
+ | |||
+ | < | ||
===More Info=== | ===More Info=== | ||
- | The pigpiod server has many more abilities than just the few pin types that I have supported in this first version. If you need virtual serial port passthrough, | + | The pigpiod server has many more abilities than just the few pin types that I have supported in this first version. If you need 1-wire support or support for the various i2c or other devices that can be connected through it please let me know and I will move that up my to do list. |
===History: | ===History: | ||
- | The PI GPIO plugin first appeared in XTension 9.4.16 | + | * The PI GPIO plugin first appeared in XTension 9.4.16 |
+ | * Hardware and Software serial passthroughs were added in XTension 9.4.20 |
supported_hardware/pigpio.txt · Last modified: 2023/04/10 12:57 by James Sentman