Defines | |
| #define | GPIOWriteSPIChipSelect(Value) LATFbits.LATF7 = Value |
| In SPI mode the SPI_CS pin can be quickly written with this function. | |
| #define | GPIOWriteSPIInt(Value) LATCbits.LATC2 = Value |
| In SPI slave mode the int pin can be quickly written with this function. | |
| #define | GPIOWriteSPIBusy(Value) LATAbits.LATA3 = Value |
| In SPI slave mode the busy pin can be quickly written with this function. | |
| #define | GPIOReadSPIRegister() PORTBbits.RB1 |
| In SPI slave mode the register pin can be quickly read with this function. | |
| #define | GPIOWriteSPINetzerDataValid(Value) LATAbits.LATA2 = Value |
| In SPI slave mode the data valid pin can be quickly written with this function. | |
| #define | GPIOReadSPIMasterWrite() PORTDbits.RD1 |
| In SPI slave mode the master data valid can be quickly read with this function. | |
| #define | GPIOReadSPIClock() PORTCbits.RC3 |
| In SPI mode the SPI_INT pin can be quickly read with this function. | |
Enumerations | |
| enum | PortType_t { PT_DIG_INPUT = 0, PT_DIG_OUTPUT, PT_ANALOG_INPUT, PT_PWM, PT_IMPULSE } |
| A GPIO channel can be configured as one of this types. More... | |
| enum | TimerPrescaler_t { TMR_PRESCALER1 = 0, TMR_PRESCALER2, TMR_PRESCALER4, TMR_PRESCALER8 } |
| Use this enumerator to configure prescaler values for impulse generation. More... | |
| enum | PWMFrequencies_t { PF_2500_HZ = 0, PF_10000_HZ, PF_40000_HZ } |
| Use this enumerator to configure prescaler values for PWM generation. More... | |
| enum | ImpulseMode_t { IPM_SINGLE = 0, IPM_TRIGGERED, IPM_CONTINUOUS } |
| Modes for impulse generation. More... | |
| enum | GPIOServerConnection_t { GPIO_SERVER_NOT_RUNNING = 0, GPIO_SERVER_RUNNING, GPIO_SERVER_CONNECTED } |
| This enumerator is used to express the GPIO server state. More... | |
| enum | EdgeCounterMode_t { EC_DISABLED = 0, EC_DECREMENTS, EC_INCREMENTS } |
| Modes of the edge trigger counter. More... | |
| enum | EdgeTriggerMode_t { ET_DISABLED = 0, ET_FALLING, ET_RISING } |
| Modes of the edge trigger interrupt. More... | |
| enum | EdgeFilterMode_t { EF_DISABLED = 0, EF_1_MS, EF_10_MS, EF_100_MS, EF_250_MS } |
| Filter mode for the edge trigger interrupt. More... | |
| enum | EventMode_t { EM_DISABLED = 0, EM_ON_FALLING_EDGES, EM_ON_RISING_EDGES, EM_ON_ALL_EDGES } |
| Modes for the GPIO event service. More... | |
| enum | GPIORadix_t { RADIX_IS_HEXADECIMAL = 0, RADIX_IS_DECIMAL } |
| Display radix for numbers on webpages and GPIO server. More... | |
Functions | |
| void | GPIOInit (SerialMode_t Mode) |
| Initializes the GPIO module in the requested mode. | |
| void | GPIOResetToFactory (void) |
| Resets the GPIO module EEPROM section to well known start parameters. | |
| WORD | GPIOGetTCPPort (BOOL bPersistent) |
| Delivers the current configured TCP port of the GPIO server. | |
| void | GPIOSetTCPPortPersistent (WORD Port) |
| Configures a new TCP port for the GPIO server. | |
| BOOL | GPIOInitTask (void) |
| After initializing network and application stuff the application should call this function to prepare task members needed for proper GPIO task operation. | |
| void | GPIOTask (void) |
| Call this function periodically from main application to execute GPIO module tasks. | |
| void | GPIOStopTask (void) |
| On network errors or shut down events these function should be called by the main application to proper stop the GPIO tasks (i.e disconnecting a connected client). | |
| BOOL | bGPIOCheckForStoppedTask (void) |
| Before shutting down the application should poll for valid GPIO task shutdown. | |
| PortType_t | GPIOGetPortType (BYTE GPIOChannel) |
| Delivers the current port configuration of a GPIO pin. | |
| BOOL | GPIOIsPortOverwritten (BYTE GPIOChannel) |
| Delivers if the port is currently overwritten by an alternative pin (i.e serial). | |
| void | GPIOSetPortValue (BYTE Channel, BOOL Value) |
| This function sets the state for a single IO pin. | |
| BOOL | GPIOGetPinValue (BYTE GPIOChannel) |
| This function reads the state from a single IO pin. | |
| GPIOServerConnection_t | GPIOGetServerState (void) |
| This function delivers the current state of the GPIO server. | |
| DWORD | GPIOGetConnectedIP (void) |
| Delivers the IP of a client who is connected to GPIO server. | |
| void | GPIOResetEdgeCounter (BYTE Channel) |
| Thread safe reset the edge counter for the given channel. | |
| BOOL | GPIOServerIsActivated (void) |
| Getter for activated GPIO server. | |
| void | GPIOActivateServerPersistent (BOOL Activate) |
| Setter for GPIO server state. | |
| ROM BYTE * | GPIOGetPortName (BYTE Channel) |
| Delivers the port alias name for the given channel. | |
| EventMode_t | GPIOGetEventMode (BYTE Channel) |
| Delivers the GPIO server event mode of a GPIO channel. | |
| void | GPIOSetEventMode (BYTE Channel, EventMode_t Mode) |
| Sets the GPIO server event mode of a GPIO channel. | |
| void | GPIOSetPortType (BYTE Channel, PortType_t PortType) |
| Sets the port mode of a GPIO channel. | |
| BOOL | GPIOGetStartupValue (BYTE Channel) |
| Delivers the startup value for a given channel. | |
| void | GPIOSetStartupValue (BYTE Channel, BOOL Value) |
| Configures the startup value for binary output configured values. | |
| void | GPIOFlushToEEPROM (void) |
| All prior changed values are persistently written to EEPROM. | |
| void | GPIOConfigurePort (BYTE Channel) |
| Call this function for a given channel to reconfigure the port and all other peripherals associated with the new port function. | |
| BOOL | GPIOIsTypeSupportedByPort (BYTE Channel, PortType_t PortType) |
| Determines programmatically if a given port supports a requested configuration. | |
| BOOL | GPIOGetImpulseLogic (BYTE Channel) |
| Delivers the configured logic for an impulse channel. | |
| TimerPrescaler_t | GPIOGetImpulsePrescaler (void) |
| Delivers the configured prescaler for all impulse channel. | |
| WORD | GPIOGetStartImpulseWidth (BYTE Channel) |
| Delivers the configured startup value for an impulse channel. | |
| WORD | GPIOGetCurrentImpulseWidth (BYTE Channel) |
| Delivers the current value for an impulse channel. | |
| void | GPIOSetImpulseLogic (BYTE Channel, BOOL Logic) |
| Configures the logic for an impulse channel. | |
| void | GPIOSetImpulsePrescaler (TimerPrescaler_t Prescaler) |
| Configures the prescaler for all impulse channel. | |
| void | GPIOSetStartupImpulseWidth (BYTE Channel, WORD ImpulseWidth) |
| Configures the startup value for an impulse channel. | |
| void | GPIOSetCurrentImpulseWidth (BYTE Channel, WORD ImpulseWidth) |
| Sets the value for an impulse or pwm channel. | |
| EdgeTriggerMode_t | GPIOGetEdgeTriggerMode (BYTE Channel) |
| Delivers the current mode of the edge trigger for a given channel. | |
| EdgeFilterMode_t | GPIOGetEdgeFilterMode (BYTE Channel) |
| Delivers the current filter mode of the edge trigger for a given channel. | |
| EdgeCounterMode_t | GPIOGetEdgeCounterMode (BYTE Channel) |
| Delivers the current counter mode of the edge trigger for a given channel. | |
| DWORD | GPIOGetEdgeCounter (BYTE Channel) |
| Delivers the current edge counter value. | |
| void | GPIOSetEdgeTriggerMode (BYTE Channel, EdgeTriggerMode_t Mode) |
| Configures a new edge trigger mode for a given channel. | |
| void | GPIOSetEdgeFilterMode (BYTE Channel, EdgeFilterMode_t Mode) |
| Configures a new edge filter mode for a given channel. | |
| void | GPIOSetEdgeCounterMode (BYTE Channel, EdgeCounterMode_t Mode) |
| Configures a new edge counter mode for a given channel. | |
| void | GPIOSetAllPinValues (WORD NewValue) |
| Use this function to write to all pins at once. | |
| void | GPIOSetPWMLogic (BYTE Channel, BOOL Value) |
| Configures the logic for a pwm channel. | |
| void | GPIOSetPWMFrequency (PWMFrequencies_t Value) |
| Configures the frequency for all pwm channel. | |
| void | GPIOSetPWMStartDuty (BYTE Channel, WORD Value) |
| Configures the startup value of a pwm channel. | |
| BOOL | GPIOGetPWMLogic (BYTE Channel) |
| Delivers the configured logic for a pwm channel. | |
| PWMFrequencies_t | GPIOGetPWMFrequency (void) |
| Delivers the configured frequency for all pwm channel. | |
| WORD | GPIOGetPWMStartDuty (BYTE Channel) |
| Delivers the configured startup value for a pwm channel. | |
| ImpulseMode_t | GPIOGetImpulseMode (void) |
| Delivers the configured mode for all impulse channel. | |
| void | GPIOSetImpulseMode (ImpulseMode_t Mode) |
| Sets a new mode for all impulse channel. | |
| void | GPIOReconfigurePeripherals (void) |
| Call this function after reconfiguring a single or multiple ports with GPIOConfigurePort. | |
| void | GPIOInitPeripherals (void) |
| Call this function before reconfiguring a single or multiple ports with GPIOConfigurePort. | |
| GPIORadix_t | GPIOGetRadix (void) |
| Delivers the currently set radix for displaying values on the GPIO server and the web interface. | |
| void | GPIOSetRadix (GPIORadix_t NewRadix) |
| Sets a new radix for displaying values on the GPIO server and the web interface. | |
| BYTE | GPIOGetRefresh (void) |
| Delivers the currently set refresh rate for auto refreshing the GPIO web interface. | |
| void | GPIOSetRefresh (BYTE Refresh) |
| Sets a new refresh rate for auto refreshing the GPIO web interface. | |
| BOOL | GPIOIsScriptActive (void) |
| Delivers if javascript for the GPIO web interface is currently active. | |
| void | GPIOActivateScript (BOOL Active) |
| Activates or deactivates javascript for the GPIO web interface. | |
| BOOL | GPIOIsAuthActive (void) |
| Delivers if authentication for the GPIO server is currently active. | |
| void | GPIOActivateAuth (BOOL Active) |
| Activates or deactivates authentication for the GPIO server. | |
1.5.5