ccNOos  v0.0.0
Build Portable Microcontroller Applications!
Application_Solution.c
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////
2 // SysTick Example
3 ///////////////////////////////////////////////////////////////////////
4 
5 #include "Application_Solution.h"
6 
7 // Re-usable, portable, cross-platform (systick example create() function)
9 {
10  UI_8 i = 0;
11  MODdeclareSTRUCT(Mn) outStruct;
12  outStruct.compMod = CreateComputeModuleStruct();
13  outStruct.Light_Off = lightOff;
14  outStruct.MinLEDvalue = lightOff;
15  outStruct.SecLEDvalue = lightOff;
16  for (i = 0; i < TIME_STR_LEN; i++)
17  outStruct.time[i] = 0x00;
18  outStruct.secCount = 0u;
19  outStruct.secCount_Last = 0u;
20  outStruct.minCount = 0u;
21  outStruct.minCount_Last = 0u;
22  outStruct.hrCount = 0u;
23  return outStruct;
24 }
25 
26 
27 // Re-usable, portable, cross-platform (systick example setup() function)
29 {
31 
32  // Setup is running in the loop area to handle exceptions...
34  {
35  CLEAR_MODULE_ERRORS(Mn); // do nothing, clear flags
36  }
37  // Setup is running in the setup area following power on
38  else
39  {
40  // Values are initialized at instantiation
41  // need to write to LEDs
44  }
45  return RETURN_SUCCESS;
46 }
47 
49 {
50  int retval = SN_PrintF(MODdataPTR(Mn)->time, 9, "\r%02u:%02u:%02u",
51  (int)(MODdataPTR(Mn)->hrCount % 100),
52  (int)(MODdataPTR(Mn)->minCount % TIME_MIN_PER_HR),
53  (int)(MODdataPTR(Mn)->secCount % TIME_SEC_PER_MIN)
54  );
55  //MODdataPTR(Mn)->time[retval] = 0x00;
56 }
57 
58 // Re-usable, portable, cross-platform (systick example loop() function)
60 {
62 
63  MODdataPTR(Mn)->secCount = getuSecTicks() / TIME_uS_PER_SEC;
64  MODdataPTR(Mn)->hrCount = getHourTicks();
65 
66  if (MODdataPTR(Mn)->secCount_Last != MODdataPTR(Mn)->secCount)
67  {
68  MODdataPTR(Mn)->secCount_Last = MODdataPTR(Mn)->secCount;
69  MODdataPTR(Mn)->minCount = (MODdataPTR(Mn)->secCount / TIME_SEC_PER_MIN);
70 
71  if (MODdataPTR(Mn)->minCount != MODdataPTR(Mn)->minCount_Last)
72  {
73  MODdataPTR(Mn)->minCount_Last = MODdataPTR(Mn)->minCount;
74  /* Toggle red LED. 1 time per minute*/
75  if (MODdataPTR(Mn)->MinLEDvalue == MODdataPTR(Mn)->Light_Off)
76  MODdataPTR(Mn)->MinLEDvalue = !MODdataPTR(Mn)->Light_Off;
77  else
78  MODdataPTR(Mn)->MinLEDvalue = MODdataPTR(Mn)->Light_Off;
79 
81  }
82 
83  /* Toggle blue LED. 1 time per second */
84  if (MODdataPTR(Mn)->SecLEDvalue == MODdataPTR(Mn)->Light_Off)
85  MODdataPTR(Mn)->SecLEDvalue = !MODdataPTR(Mn)->Light_Off;
86  else
87  MODdataPTR(Mn)->SecLEDvalue = MODdataPTR(Mn)->Light_Off;
89 
90  /* Print system time to IO Device every second */
92 
94  }
95  return RETURN_SUCCESS;
96 }
97 
98 MODdeclareSYSTICK(Mn) { ; } // do nothing in the systick area
99 
SerializeTimeString
void SerializeTimeString(MODdeclarePTRIN(Mn))
Definition: Application_Solution.c:48
TIME_STR_LEN
#define TIME_STR_LEN
Definition: Application_Solution.h:42
Mn
MODdeclareCREATE() Mn(MODdeclareCREATEINS)
Definition: Application_Solution.c:29
MODdeclarePTRIN
#define MODdeclarePTRIN(mNAME)
Definition: version_config.h:284
CLEAR_MODULE_ERRORS
#define CLEAR_MODULE_ERRORS(mNAME)
Definition: version_config.h:339
getHourTicks
UI_32 getHourTicks()
TIME_MIN_PER_HR
#define TIME_MIN_PER_HR
Definition: execution_system.h:39
MODDATAPTR_ERROR_RETURN
#define MODDATAPTR_ERROR_RETURN(mNAME)
Definition: version_config.h:331
TIME_SEC_PER_MIN
#define TIME_SEC_PER_MIN
Definition: execution_system.h:38
MODdeclareLOOP
MODdeclareLOOP(Mn)
Definition: Application_Solution.c:116
getuSecTicks
UI_32 getuSecTicks()
MODdeclareCREATEINS
#define MODdeclareCREATEINS
Definition: Application_Solution.h:58
IF_MODULE_ERROR
#define IF_MODULE_ERROR(mNAME)
Definition: version_config.h:335
WriteMinLED
void WriteMinLED(MODdeclarePTRIN(Mn))
Definition: Application_Platform_Main.c:75
MODdeclareSYSTICK
MODdeclareSYSTICK(Mn)
Definition: Application_Solution.c:157
MODdeclareCREATE
#define MODdeclareCREATE(mNAME)
Definition: version_config.h:292
MODdeclareSTRUCT
#define MODdeclareSTRUCT(mNAME)
Definition: version_config.h:277
MODdataPTR
#define MODdataPTR(mNAME)
Definition: version_config.h:244
TIME_uS_PER_SEC
#define TIME_uS_PER_SEC
Definition: execution_system.h:36
MODdeclareSETUP
MODdeclareSETUP(Mn)
Definition: Application_Solution.c:79
Application_Solution.h
CreateComputeModuleStruct
struct computeModuleStruct CreateComputeModuleStruct()
Definition: compute_module.c:30
RETURN_SUCCESS
#define RETURN_SUCCESS
Function Return Value for Success.
Definition: version_config.h:87
WriteTimeSerial
void WriteTimeSerial(MODdeclarePTRIN(Mn))
Definition: Application_Platform_Main.c:79
WriteSecLED
void WriteSecLED(MODdeclarePTRIN(Mn))
Definition: Application_Platform_Main.c:77