This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
robots:hako:firmware:welcome [2012/09/26 18:25] karina [Mainboard - Software - Notation - Types and prefixes] |
robots:hako:firmware:welcome [2021/08/14 04:21] (current) |
||
---|---|---|---|
Line 73: | Line 73: | ||
==== Mainboard - Software - Notation - Types and prefixes ==== | ==== Mainboard - Software - Notation - Types and prefixes ==== | ||
+ | * [[robots: | ||
+ | * [[robots: | ||
+ | * [[robots: | ||
+ | * [[robots: | ||
+ | * [[robots: | ||
+ | * [[robots: | ||
+ | |||
+ | |||
Header file: " | Header file: " | ||
Line 79: | Line 87: | ||
That is why STW introduced unambiguous types like ' | That is why STW introduced unambiguous types like ' | ||
- | **Recommended unambiguous type definitions and prefixes** | + | == Recommended unambiguous type definitions and prefixes |
Line 119: | Line 127: | ||
- | **Type definition (typedef) prefixes** | + | == Type definition (typedef) prefixes |
^Prefix^Example^Description^ | ^Prefix^Example^Description^ | ||
|T_|typedef struct { ... } T_Struct; | |T_|typedef struct { ... } T_Struct; | ||
Line 126: | Line 134: | ||
|PR_|typedef void (*PR_Function)( const uint8 ou8_Parameter );| type definition for function pointer| | |PR_|typedef void (*PR_Function)( const uint8 ou8_Parameter );| type definition for function pointer| | ||
- | **Definition prefixes** | + | == Definition prefixes |
^Prefix^Example^Description^ | ^Prefix^Example^Description^ | ||
|t_|T_Struct t_Struct;| structure (or bitfield)| | |t_|T_Struct t_Struct;| structure (or bitfield)| | ||
Line 137: | Line 145: | ||
- | **Modifier prefixes** | + | == Modifier prefixes |
^Prefix^Example^Description^ | ^Prefix^Example^Description^ | ||
|p<type prefix> | |p<type prefix> | ||
|a<type prefix> | |a<type prefix> | ||
- | **Area of validity prefixes** | + | == Area of validity prefixes |
+ | ^Prefix^Example^Description^ | ||
+ | |g<type prefix>| uint8 gu8_Global; |global| | ||
+ | |m<type prefix>| static uint8 mu8_ModuleGlobal; | ||
+ | |h<type prefix>| static uint8 hu8_Example; | ||
+ | |o<type prefix>| void Callback( const uint8 ou8_Parameter ); |function parameter (operand)| | ||
+ | |||
+ | == Examples == | ||
+ | |||
+ | <sxh c> | ||
+ | //Prefix examples | ||
+ | /* local variable sint16 */ | ||
+ | sint16 s16_VariableName; | ||
+ | |||
+ | /* function internal array of pointers to uint8 with MAX_MESSAGES elements */ | ||
+ | uint8 *apu8_Messages[MAX_MESSAGES]; | ||
+ | |||
+ | /* Module global variable of type uint32 */ | ||
+ | static uint32 mu32_Index; | ||
+ | |||
+ | /* typedef for structure */ | ||
+ | typedef struct | ||
+ | |||
+ | { | ||
+ | uint8 u8_Element1; | ||
+ | uint32 *pu32_Element2; | ||
+ | } T_StructType; | ||
+ | |||
+ | /* modul globale pointer to structure defined by typdedef */ | ||
+ | static T_StructType *mpt_PointerToMyStructType; | ||
+ | |||
+ | /* function internal used structure */ | ||
+ | T_StructType t_MyStructObject; | ||
+ | |||
+ | /* module global structure variable */ | ||
+ | static T_StructType mt_MyStruct; | ||
+ | |||
+ | /* typedef for function pointer for a module ' | ||
+ | typedef void (*PR_DIN_CallBack)(const uint8 ou8_Parameter); | ||
+ | |||
+ | /* global function pointer in module ' | ||
+ | PR_DIN_CallBack gpr_DIN_CallBack; | ||
+ | </ | ||
+ | |||