Revision 4c72a54c modules/NUCLEO-L476RG/module.h

View differences:

modules/NUCLEO-L476RG/module.h
28 28
#define AMIROOS_MODULE_H
29 29

  
30 30
#include <amiroos.h>
31
#include <math.h>
32 31

  
33 32
/*===========================================================================*/
34 33
/**
......
61 60
 */
62 61
#define MODULE_HAL_RTC                          RTCD1
63 62

  
64
#if defined(AMIROLLD_CFG_MPU6050)
63
#if (BOARD_MPU6050_CONNECTED == true) || defined(__DOXYGEN__)
65 64

  
66 65
/**
67 66
 * @brief   I2C driver to access multiplexer, proximity sensors 5 to 8, power monitors for VSYS4.2, VIO 5.0 and VDD, EEPROM, touch sensor, and fuel gauge (front battery).
......
73 72
 */
74 73
extern I2CConfig moduleHalI2c3Config;
75 74

  
76
#endif /* defined(AMIROLLD_CFG_MPU6050) */
75
#endif /* (BOARD_MPU6050_CONNECTED == true) */
77 76

  
78 77
/** @} */
79 78

  
......
126 125
}
127 126

  
128 127
/**
129
 * @brief   Unit test initialization hook.
128
 * @brief   Test initialization hook.
130 129
 */
131 130
#define MODULE_INIT_TESTS() {                                                 \
132
  /* add unit-test shell commands */                                          \
131
  /* initialize tests and add to shell */                                     \
132
  aosShellAddCommand(&aos.shell, &moduleTestLedShellCmd);                     \
133
  aosShellAddCommand(&aos.shell, &moduleTestButtonShellCmd);                  \
133 134
  MODULE_INIT_TEST_MPU6050();                                                 \
135
  aosShellAddCommand(&aos.shell, &moduleTestAllShellCmd);                     \
134 136
}
135
#if defined(AMIROLLD_CFG_MPU6050)
137
#if (BOARD_MPU6050_CONNECTED == true)
136 138
  #define MODULE_INIT_TEST_MPU6050() {                                        \
137 139
    /* add unit-test shell commands */                                        \
138
    aosShellAddCommand(&aos.shell, &moduleUtAlldMpu6050.shellcmd);            \
140
    aosShellAddCommand(&aos.shell, &moduleTestMpu6050ShellCmd);               \
139 141
  }
140
#else /* defined(AMIROLLD_CFG_MPU6050) */
142
#else /* (BOARD_MPU6050_CONNECTED == true) */
141 143
  #define MODULE_INIT_TEST_MPU6050() {}
142
#endif /* defined(AMIROLLD_CFG_MPU6050) */
144
#endif /* (BOARD_MPU6050_CONNECTED == true) */
143 145

  
144 146
/**
145 147
 * @brief   Periphery communication interfaces initialization hook.
146 148
 */
147
#define MODULE_INIT_PERIPHERY_COMM() {                                        \
149
#define MODULE_INIT_PERIPHERY_IF() {                                          \
148 150
  /* serial driver */                                                         \
149 151
  sdStart(&MODULE_HAL_PROGIF, &moduleHalProgIfConfig);                        \
150 152
  /* MPU6050 demo */                                                          \
151
  MODULE_INIT_PERIPHERY_COMM_MPU6050();                                       \
153
  MODULE_INIT_PERIPHERY_IF_MPU6050();                                         \
152 154
}
153
#if defined(AMIROLLD_CFG_MPU6050)
154
  #define MODULE_INIT_PERIPHERY_COMM_MPU6050() {                              \
155
#if (BOARD_MPU6050_CONNECTED == true)
156
  #define MODULE_INIT_PERIPHERY_IF_MPU6050() {                                \
155 157
    /* maximum I2C frequency is 1MHz for this MCU */                          \
156 158
    uint32_t i2c3_freq = 1000000;                                             \
157 159
    /* find minimum amon all devices connected to this bus */                 \
......
170 172
    moduleHalI2c3Config.timingr |= ((((moduleHalI2c3Config.timingr & I2C_TIMINGR_SDADEL_Msk) >> I2C_TIMINGR_SDADEL_Pos) * 2) + 1) << I2C_TIMINGR_SCLDEL_Pos;  \
171 173
    /* now we can start the I2C driver */                                     \
172 174
    chSysLock();                                                              \
173
    palSetLineMode(LINE_ARD_A4, PAL_MODE_ALTERNATE(4));                \
174
    palSetLineMode(LINE_ARD_A5, PAL_MODE_ALTERNATE(4));                \
175
    palSetLineMode(LINE_ARD_A4, PAL_MODE_ALTERNATE(4));                       \
176
    palSetLineMode(LINE_ARD_A5, PAL_MODE_ALTERNATE(4));                       \
175 177
    chSysUnlock();                                                            \
176 178
    i2cStart(&MODULE_HAL_I2C3, &moduleHalI2c3Config);                         \
177 179
  }
178
#else /* defined(AMIROLLD_CFG_MPU6050) */
179
  #define MODULE_INIT_PERIPHERY_COMM_MPU6050() {}
180
#endif /* defined(AMIROLLD_CFG_MPU6050) */
180
#else /* (BOARD_MPU6050_CONNECTED == true) */
181
  #define MODULE_INIT_PERIPHERY_IF_MPU6050() {}
182
#endif /* (BOARD_MPU6050_CONNECTED == true) */
181 183

  
182 184
/**
183 185
 * @brief   Periphery communication interface deinitialization hook.
184 186
 */
185
#define MODULE_SHUTDOWN_PERIPHERY_COMM() {                                    \
187
#define MODULE_SHUTDOWN_PERIPHERY_IF() {                                      \
186 188
}
187 189

  
188 190
/**
......
190 192
 */
191 193
#define MODULE_MAIN_LOOP_IO_EVENT(eventflags) {                               \
192 194
  if (eventflags & MODULE_OS_IOEVENTFLAGS_USERBUTTON) {                       \
193
    apalControlGpioState_t buttonstate;                                       \
194
    apalControlGpioGet(&moduleGpioUserButton, &buttonstate);                  \
195
    apalControlGpioSet(&moduleGpioLed, buttonstate);                          \
195
    button_lld_state_t buttonstate;                                           \
196
    button_lld_get(&moduleLldUserButton, &buttonstate);                       \
197
    led_lld_set(&moduleLldLed, (buttonstate == BUTTON_LLD_STATE_PRESSED) ? LED_LLD_STATE_ON : LED_LLD_STATE_OFF); \
196 198
  }                                                                           \
197 199
}
198 200

  
......
213 215
 * @{
214 216
 */
215 217
/*===========================================================================*/
218
#include <alld_LED.h>
219
#include <alld_button.h>
216 220

  
217
#if defined(AMIROLLD_CFG_MPU6050)
221
/**
222
 * @brief   LED driver.
223
 */
224
extern LEDDriver moduleLldLed;
225

  
226
/**
227
 * @brief   Button driver.
228
 */
229
extern ButtonDriver moduleLldUserButton;
230

  
231
#if (BOARD_MPU6050_CONNECTED == true) || defined(__DOXYGEN__)
218 232

  
219 233
#include <alld_MPU6050.h>
220 234

  
......
223 237
 */
224 238
extern MPU6050Driver moduleLldMpu6050;
225 239

  
226
#endif /* defined(AMIROLLD_CFG_MPU6050) */
240
#endif /* (BOARD_MPU6050_CONNECTED == true) */
227 241

  
228 242
/** @} */
229 243

  
230 244
/*===========================================================================*/
231 245
/**
232
 * @name Unit tests (UT)
246
 * @name Tests
233 247
 * @{
234 248
 */
235 249
/*===========================================================================*/
236 250
#if (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
237 251

  
238
#if defined(AMIROLLD_CFG_MPU6050)
252
/**
253
 * @brief   LED test command.
254
 */
255
extern aos_shellcommand_t moduleTestLedShellCmd;
256

  
257
/**
258
 * @brief   User button test command.
259
 */
260
extern aos_shellcommand_t moduleTestButtonShellCmd;
239 261

  
240
#include <ut_alld_MPU6050_v1.h>
262
#if (BOARD_MPU6050_CONNECTED == true) || defined(__DOXYGEN__)
241 263

  
242 264
/**
243
 * @brief   MPU6050 unit test object.
265
 * @brief   MPU6050 (Accelerometer & Gyroscope) test command.
244 266
 */
245
extern aos_unittest_t moduleUtAlldMpu6050;
267
extern aos_shellcommand_t moduleTestMpu6050ShellCmd;
246 268

  
247
#endif /* defined(AMIROLLD_CFG_MPU6050) */
269
#endif /* (BOARD_MPU6050_CONNECTED == true) */
270

  
271
/**
272
 * @brief   Entire module test command.
273
 */
274
extern aos_shellcommand_t moduleTestAllShellCmd;
248 275

  
249 276
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */
250 277

  

Also available in: Unified diff