projectdefs.h File Reference


Detailed Description

Some project related defines and typedefs for the NetzerIO project.

Software License
See the MBCSL for details.
Author:
Sven Schlender (kontakt at mobacon dot de)
Date:
2010-10-29

#define PROJECT_ID   IO_PROJECT
 The project identifier.
#define LICENSE_NAME   ""
 The project name.
#define PROJECT_EARLYINIT   IoEarlyInit
 This macro is used as hook in the Main function before other modules are called.
#define PROJECT_INIT   IoInit
 This macro is used as hook in the ApplInit function.
#define PROJECT_RESET_TO_FACTORY   IoResetToFactory
 This macro is used as hook in the ApplResetToFactory function.
#define PROJECT_STATE_CHANGED(NewState)
 This macro is used as hook in the ApplStateChanged function.
#define PROJECT_INIT_TASK   IoInitTasks
 This macro is used as hook in the ApplMain function.
#define PROJECT_TASK   IoTasks
 This macro is used as hook in the ApplMain function.
#define PROJECT_CYCLE   SerialRegisterHandling
 This macro is used as hook in the Main cycle.
#define PROJECT_STOP_TASK   IoStopTasks
 This macro is used as hook in the ApplMain function.
#define PROJECT_POWERDOWN   IoShutdown
 This macro is used as hook after leaving the Main cycle.
#define PROJECT_CHECK_FOR_STOPPED_TASK   IoCheckForStoppedTasks
 This macro is used as hook in the ApplMain function.
#define PROJECT_PROCESS_POST   WebIoProcessPost
 This macro is used as hook in the HTTPExecutePost (see web.c) function.
#define GPIO_EEPROM_ADD   (PROJECT_EEPROM_ADD+0x0008u)
 EEPROM address for storing GPIO related stuff.
#define SERIAL_EEPROM_ADD   (PROJECT_EEPROM_ADD+0x0030u)
 EEPROM address for storing serial related stuff.
#define I2C_EEPROM_ADD   (PROJECT_EEPROM_ADD+0x0038u)
 EEPROM address for storing I2C related stuff.
#define PROJECT_WEB_SUBFOLDER   ""
 This macro defines a possible subfolder for the web hierarchy.
#define PROJECT_WEBSITES
 Defines the sites for this project.
#define PROJECT_HTTP_GET_EXECUTION   WebIoHTTPExecuteGet
 This define sets the get execution hook for project related pages to the given function.
enum  SerialMode_t {
  PROJECT_MODE_SERIAL_DISABLED = 0, PROJECT_MODE_UART, PROJECT_MODE_SPI_MASTER, PROJECT_MODE_SPI_SLAVE,
  PROJECT_MODE_I2C_MASTER, PROJECT_MODE_COUNT
}
 This typedef can be used to enumerate the different modes of NetzerIO. More...
void IoEarlyInit (void)
 Call this function prior calling of all other modules.
BOOL IoInit (void)
 Call this function to init the IO project and its sub modules.
SerialMode_t IoGetSerialMode (BOOL bPersistent)
 Delivers the current configured IO mode.
void IoSetNewSerialMode (SerialMode_t Mode)
 Configures the new mode, which is written to EEPROM.
void IoResetToFactory (void)
 Reset the persitent settings of the IO project to well known states.
BOOL IoInitTasks (void)
 Initializes the IO project tasks.
void IoTasks (void)
 Executes the IO project tasks.
void IoStopTasks (void)
 Stops the IO project tasks.
void IoShutdown (void)
 Is called once after the main cycle is breaked due shutdown or restart requests.
BOOL IoCheckForStoppedTasks (void)
 Checks for stopped IO project tasks.
void WebIoProcessPost (BYTE PageIndex, BYTE *pControl, BYTE *pValueString, DWORD Value)
 This function processes HTTP post requests.
void WebIoHTTPExecuteGet (BYTE Index)
 This function is called if a HTTP GET request is received for one of the project pages.


Define Documentation

#define GPIO_EEPROM_ADD   (PROJECT_EEPROM_ADD+0x0008u)

EEPROM address for storing GPIO related stuff.

#define I2C_EEPROM_ADD   (PROJECT_EEPROM_ADD+0x0038u)

EEPROM address for storing I2C related stuff.

#define LICENSE_NAME   ""

The project name.

This name is displayed on index.htm of the Netzer website.

#define PROJECT_CHECK_FOR_STOPPED_TASK   IoCheckForStoppedTasks

This macro is used as hook in the ApplMain function.

#define PROJECT_CYCLE   SerialRegisterHandling

This macro is used as hook in the Main cycle.

#define PROJECT_EARLYINIT   IoEarlyInit

This macro is used as hook in the Main function before other modules are called.

#define PROJECT_HTTP_GET_EXECUTION   WebIoHTTPExecuteGet

This define sets the get execution hook for project related pages to the given function.

#define PROJECT_ID   IO_PROJECT

The project identifier.

See NetzerProjects_t for a complete project list.

#define PROJECT_INIT   IoInit

This macro is used as hook in the ApplInit function.

#define PROJECT_INIT_TASK   IoInitTasks

This macro is used as hook in the ApplMain function.

Returns boolean True to indicate that initialization was successful.

#define PROJECT_POWERDOWN   IoShutdown

This macro is used as hook after leaving the Main cycle.

#define PROJECT_PROCESS_POST   WebIoProcessPost

This macro is used as hook in the HTTPExecutePost (see web.c) function.

#define PROJECT_RESET_TO_FACTORY   IoResetToFactory

This macro is used as hook in the ApplResetToFactory function.

#define PROJECT_STATE_CHANGED ( NewState   ) 

This macro is used as hook in the ApplStateChanged function.

#define PROJECT_STOP_TASK   IoStopTasks

This macro is used as hook in the ApplMain function.

#define PROJECT_TASK   IoTasks

This macro is used as hook in the ApplMain function.

#define PROJECT_WEB_SUBFOLDER   ""

This macro defines a possible subfolder for the web hierarchy.

#define PROJECT_WEBSITES

Value:

{STRTBLID_GPIO, "gpio.htm",NAV_HEAD, 0x82},       \
                            {0, "gpiocfg.htm", PAGEID_GPIO, 0x80},            \
                            {STRTBLID_SERIAL, "serial.htm", NAV_HEAD, 0x80}
Defines the sites for this project.

#define SERIAL_EEPROM_ADD   (PROJECT_EEPROM_ADD+0x0030u)

EEPROM address for storing serial related stuff.


Enumeration Type Documentation

This typedef can be used to enumerate the different modes of NetzerIO.

Enumerator:
PROJECT_MODE_SERIAL_DISABLED  No serial communication.
PROJECT_MODE_UART  The UART mode.
PROJECT_MODE_SPI_MASTER  The SPI master mode.
PROJECT_MODE_SPI_SLAVE  The SPI slave mode.
PROJECT_MODE_I2C_MASTER  The I2C master mode.
PROJECT_MODE_COUNT  Dummy for getting the count of all modes.


Function Documentation

BOOL IoCheckForStoppedTasks ( void   ) 

Checks for stopped IO project tasks.

Should be called after IoStopTasks.

Return values:
TRUE Tasks are stopped.
FALSE Tasks are running yet.

void IoEarlyInit ( void   ) 

Call this function prior calling of all other modules.

SerialMode_t IoGetSerialMode ( BOOL  bPersistent  ) 

Delivers the current configured IO mode.

Parameters:
bPersistent If TRUE the mode is read from EEPROM, if FALSE the mode is read from local state.
Returns:
The IO mode as enumerated value.

BOOL IoInit ( void   ) 

Call this function to init the IO project and its sub modules.

Return values:
TRUE Initialization was successful.
FALSE Initialization failed.

BOOL IoInitTasks ( void   ) 

Initializes the IO project tasks.

Return values:
TRUE Initialization of all tasks was successful.
FALSE At least one task initialization has failed, try again later.

void IoResetToFactory ( void   ) 

Reset the persitent settings of the IO project to well known states.

void IoSetNewSerialMode ( SerialMode_t  Mode  ) 

Configures the new mode, which is written to EEPROM.

Note:
This new value do not change the current mode - it takes affect after restart first.
Parameters:
Mode The IO mode as enumerated value.

void IoShutdown ( void   ) 

Is called once after the main cycle is breaked due shutdown or restart requests.

void IoStopTasks ( void   ) 

Stops the IO project tasks.

void IoTasks ( void   ) 

Executes the IO project tasks.

void WebIoHTTPExecuteGet ( BYTE  Index  ) 

This function is called if a HTTP GET request is received for one of the project pages.

For the IO project this function processes the given index on GPIO configuration sites.

Parameters:
Index is the value of a possible given Id parameter in the HTTP GET request.

void WebIoProcessPost ( BYTE  PageIndex,
BYTE *  pControl,
BYTE *  pValueString,
DWORD  Value 
)

This function processes HTTP post requests.

Parameters:
PageIndex Index of the post request file.
pControl Pointer to the name of the post control.
pValueString Pointer to the value string of the post control.
Value The preprocessed value string as numeric variable.


Generated on Fri Mar 29 10:34:27 2013 for Netzer by  doxygen 1.5.5