Revision 510b93cc core/src/aos_sssp.c

View differences:

core/src/aos_sssp.c
44 44
/* LOCAL VARIABLES                                                            */
45 45
/******************************************************************************/
46 46

  
47
#if (AMIROOS_CFG_SSSP_MASTER == true) || defined (__DOXYGEN__)
48

  
49 47
/**
50 48
 * @brief   A timer event based delays.
51 49
 */
......
61 59
 */
62 60
static event_listener_t _eventListenerDelay;
63 61

  
64
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
65

  
66 62
/******************************************************************************/
67 63
/* LOCAL FUNCTIONS                                                            */
68 64
/******************************************************************************/
69 65

  
70
#if (AMIROOS_CFG_SSSP_MASTER == true) || defined (__DOXYGEN__)
71

  
72 66
/**
73 67
 * @brief   General callback function to be used for any local timers.
74 68
 *
......
85 79
  return;
86 80
}
87 81

  
88
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
89

  
90 82
/**
91 83
 * @brief   Waits for the S signal to switch to the desired state.
92 84
 *
......
120 112
  return AOS_FAILURE;
121 113
}
122 114

  
123
#if (AMIROOS_CFG_SSSP_MASTER == true) || defined(__DOXYGEN__)
124

  
125 115
/**
126 116
 * @brief   Uses the local delay timer to setup a timed event and waits for it to fire.
127 117
 *
......
156 146
  return AOS_FAILURE;
157 147
}
158 148

  
159
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
160

  
161 149
/******************************************************************************/
162 150
/* EXPORTED FUNCTIONS                                                         */
163 151
/******************************************************************************/
......
167 155
 */
168 156
void aosSsspInit(void)
169 157
{
170
#if (AMIROOS_CFG_SSSP_MSI == true)
171
  // module ID is initialized as 'invalid'
172
  aos.sssp.moduleId = AOS_SSSP_MODULEID_INVALID;
173
#endif /* (AMIROOS_CFG_SSSP_MSI == true) */
158
  // local variables
159
  apalControlGpioState_t state;
174 160

  
175 161
#if (AMIROOS_CFG_SSSP_STARTUP == true)
176 162
  // AMiRo-OS has to perform the basic initialization
177 163
  aos.sssp.stage = AOS_SSSP_STAGE_STARTUP_1_1;
178
#if (AMIROOS_CFG_DBG == true)
179
  // check whether the initial signal configuration is correct
180
  {
181
    apalControlGpioState_t state;
182
    // S signal
183
    apalControlGpioGet(&moduleSsspGpioS, &state);
184
    aosDbgAssert(state == APAL_GPIO_ON);
185
    // PD signal
186
    apalControlGpioGet(&moduleSsspGpioPD, &state);
187
    aosDbgAssert(state == APAL_GPIO_OFF);
188
  }
189
#endif /* (AMIROOS_CFG_DBG == true) */
190 164
#else /* (AMIROOS_CFG_SSSP_STARTUP == true) */
191 165
  // basic initialization was already performed by a bootloader
192 166
  aos.sssp.stage = AOS_SSSP_STAGE_STARTUP_2_1;
193
#if (AMIROOS_CFG_DBG == true)
194
  // check whether the initial signal configuration is correct
195
  {
196
    apalControlGpioState_t state;
197
    // S signal
198
    apalControlGpioGet(&moduleSsspGpioS, &state);
199
    aosDbgAssert(state == APAL_GPIO_ON);
200
    // PD signal
201
    apalControlGpioGet(&moduleSsspGpioPD, &state);
202
    aosDbgAssert(state == APAL_GPIO_OFF);
203
  }
204
#endif /* (AMIROOS_CFG_DBG == true) */
205 167
#endif /* (AMIROOS_CFG_SSSP_STARTUP == true) */
206 168

  
207
#if (AMIROOS_CFG_SSSP_MASTER == true)
169
  // check all SSSP signals for correct state
170
  apalControlGpioGet(&moduleSsspGpioS, &state);
171
  aosDbgAssert(state == APAL_GPIO_ON);
172
  apalControlGpioGet(&moduleSsspGpioPD, &state);
173
  aosDbgAssert(state == APAL_GPIO_OFF);
174
#if (AMIROOS_CFG_SSSP_STACK_END != true)
175
  apalControlGpioGet(&moduleSsspGpioUP, &state);
176
  aosDbgAssert(state == APAL_GPIO_OFF);
177
#endif /* (AMIROOS_CFG_SSSP_STACK_END != true) */
178
#if (AMIROOS_CFG_SSSP_STACK_START != true)
179
  apalControlGpioGet(&moduleSsspGpioDN, &state);
180
  aosDbgAssert(state == APAL_GPIO_OFF);
181
#endif /* (AMIROOS_CFG_SSSP_STACK_START != true) */
182

  
183
#if (AMIROOS_CFG_SSSP_MSI == true)
184
  // module ID is initialized as 'invalid'
185
  aos.sssp.moduleId = AOS_SSSP_MODULEID_INVALID;
186
#endif /* (AMIROOS_CFG_SSSP_MSI == true) */
187

  
208 188
  // initialize static variables
209 189
  chVTObjectInit(&_delayTimer);
210 190
  chEvtObjectInit(&_eventSourceDelay);
211
#endif /* (AMIROOS_CFG_SSSP_MASTER == true) */
212 191

  
213 192
  return;
214 193
}

Also available in: Unified diff