162 fsm->master_state(fsm); |
162 fsm->master_state(fsm); |
163 } |
163 } |
164 |
164 |
165 /*****************************************************************************/ |
165 /*****************************************************************************/ |
166 |
166 |
|
167 /** |
|
168 Initializes the master startup state machine. |
|
169 */ |
|
170 |
167 void ec_fsm_startup(ec_fsm_t *fsm) |
171 void ec_fsm_startup(ec_fsm_t *fsm) |
168 { |
172 { |
169 fsm->master_state = ec_fsm_startup_start; |
173 fsm->master_state = ec_fsm_startup_start; |
170 } |
174 } |
171 |
175 |
172 /*****************************************************************************/ |
176 /*****************************************************************************/ |
173 |
177 |
174 int ec_fsm_startup_running(ec_fsm_t *fsm) |
178 /** |
|
179 Returns the running state of the master startup state machine. |
|
180 \return non-zero if not terminated yet. |
|
181 */ |
|
182 |
|
183 int ec_fsm_startup_running(ec_fsm_t *fsm /**< Finite state machine */) |
175 { |
184 { |
176 return fsm->master_state != ec_fsm_end && |
185 return fsm->master_state != ec_fsm_end && |
177 fsm->master_state != ec_fsm_error; |
186 fsm->master_state != ec_fsm_error; |
178 } |
187 } |
179 |
188 |
180 /*****************************************************************************/ |
189 /*****************************************************************************/ |
181 |
190 |
182 int ec_fsm_startup_success(ec_fsm_t *fsm) |
191 /** |
|
192 Returns, if the master startup state machine terminated with success. |
|
193 \return non-zero if successful. |
|
194 */ |
|
195 |
|
196 int ec_fsm_startup_success(ec_fsm_t *fsm /**< Finite state machine */) |
183 { |
197 { |
184 return fsm->master_state == ec_fsm_end; |
198 return fsm->master_state == ec_fsm_end; |
185 } |
199 } |
186 |
200 |
187 /*****************************************************************************/ |
201 /*****************************************************************************/ |
188 |
202 |
|
203 /** |
|
204 Initializes the master configuration state machine. |
|
205 */ |
|
206 |
189 void ec_fsm_configuration(ec_fsm_t *fsm) |
207 void ec_fsm_configuration(ec_fsm_t *fsm) |
190 { |
208 { |
191 fsm->master_state = ec_fsm_configuration_start; |
209 fsm->master_state = ec_fsm_configuration_start; |
192 } |
210 } |
193 |
211 |
194 /*****************************************************************************/ |
212 /*****************************************************************************/ |
195 |
213 |
196 int ec_fsm_configuration_running(ec_fsm_t *fsm) |
214 /** |
|
215 Returns the running state of the master configuration state machine. |
|
216 \return non-zero if not terminated yet. |
|
217 */ |
|
218 |
|
219 int ec_fsm_configuration_running(ec_fsm_t *fsm /**< Finite state machine */) |
197 { |
220 { |
198 return fsm->master_state != ec_fsm_end && |
221 return fsm->master_state != ec_fsm_end && |
199 fsm->master_state != ec_fsm_error; |
222 fsm->master_state != ec_fsm_error; |
200 } |
223 } |
201 |
224 |
202 /*****************************************************************************/ |
225 /*****************************************************************************/ |
203 |
226 |
204 int ec_fsm_configuration_success(ec_fsm_t *fsm) |
227 /** |
|
228 Returns, if the master confuguration state machine terminated with success. |
|
229 \return non-zero if successful. |
|
230 */ |
|
231 |
|
232 int ec_fsm_configuration_success(ec_fsm_t *fsm /**< Finite state machine */) |
205 { |
233 { |
206 return fsm->master_state == ec_fsm_end; |
234 return fsm->master_state == ec_fsm_end; |
207 } |
235 } |
208 |
236 |
209 /****************************************************************************** |
237 /****************************************************************************** |
324 } |
352 } |
325 |
353 |
326 /****************************************************************************** |
354 /****************************************************************************** |
327 * master configuration state machine |
355 * master configuration state machine |
328 *****************************************************************************/ |
356 *****************************************************************************/ |
|
357 |
|
358 /** |
|
359 Master configuration state machine: START. |
|
360 */ |
329 |
361 |
330 void ec_fsm_configuration_start(ec_fsm_t *fsm /**< finite state machine */) |
362 void ec_fsm_configuration_start(ec_fsm_t *fsm /**< finite state machine */) |
331 { |
363 { |
332 ec_master_t *master = fsm->master; |
364 ec_master_t *master = fsm->master; |
333 |
365 |