Updated LSM303DLHC STM32F3 Discovery demo

git-svn-id: https://svn.code.sf.net/p/chibios/svn2/trunk@11592 110e8d01-0319-4d1e-a829-52ad28d1bb01
This commit is contained in:
Rocco Marco Guglielmi 2018-02-28 10:04:48 +00:00
parent 4e4b7ef08e
commit 118f847cba
2 changed files with 22 additions and 33 deletions

View File

@ -5,7 +5,7 @@
# Compiler options here. # Compiler options here.
ifeq ($(USE_OPT),) ifeq ($(USE_OPT),)
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16 USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
endif endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
@ -87,6 +87,9 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../../.. CHIBIOS = ../../../..
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
# Startup files. # Startup files.
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f3xx.mk include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f3xx.mk
# HAL-OSAL files (optional). # HAL-OSAL files (optional).
@ -97,8 +100,9 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional). # RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Other files (optional). # EX files (optional).
include $(CHIBIOS)/os/ex/ST/lsm303dlhc.mk include $(CHIBIOS)/os/ex/ST/lsm303dlhc.mk
# Other files (optional).
include $(CHIBIOS)/os/hal/lib/streams/streams.mk include $(CHIBIOS)/os/hal/lib/streams/streams.mk
# Define linker script file here # Define linker script file here
@ -106,20 +110,13 @@ LDSCRIPT= $(STARTUPLD)/STM32F303xC.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(STARTUPSRC) \ CSRC = $(ALLCSRC) \
$(KERNSRC) \ $(TESTSRC) \
$(PORTSRC) \
$(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \
$(BOARDSRC) \
$(LSM303DLHCSRC) \
$(STREAMSSRC) \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CPPSRC = CPPSRC = $(AllCPPSRC)
# C sources to be compiled in ARM mode regardless of the global setting. # C sources to be compiled in ARM mode regardless of the global setting.
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
@ -145,10 +142,11 @@ TCPPSRC =
ASMSRC = ASMSRC =
ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(CHIBIOS)/os/license \ # List ASM source files here
$(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ ASMSRC = $(ALLASMSRC)
$(HALINC) $(PLATFORMINC) $(BOARDINC) $(LSM303DLHCINC) \ ASMXSRC = $(ALLXASMSRC)
$(STREAMSINC) $(SHELLINC)
INCDIR = $(ALLINC) $(TESTINC)
# #
# Project, sources and paths # Project, sources and paths

View File

@ -18,7 +18,6 @@
#include "hal.h" #include "hal.h"
#include "chprintf.h" #include "chprintf.h"
#include "lsm303dlhc.h" #include "lsm303dlhc.h"
#define cls(chp) chprintf(chp, "\033[2J\033[1;1H") #define cls(chp) chprintf(chp, "\033[2J\033[1;1H")
@ -47,7 +46,9 @@ static const I2CConfig i2ccfg = {
0 0
}; };
static const LSM303DLHCAccConfig lsm303dlhcacccfg = { static const LSM303DLHCConfig lsm303dlhccfg = {
&I2CD1,
&i2ccfg,
NULL, NULL,
NULL, NULL,
LSM303DLHC_ACC_FS_4G, LSM303DLHC_ACC_FS_4G,
@ -58,9 +59,6 @@ static const LSM303DLHCAccConfig lsm303dlhcacccfg = {
LSM303DLHC_ACC_BDU_BLOCK, LSM303DLHC_ACC_BDU_BLOCK,
LSM303DLHC_ACC_END_LITTLE, LSM303DLHC_ACC_END_LITTLE,
#endif #endif
};
static const LSM303DLHCCompConfig lsm303dlhccompcfg = {
NULL, NULL,
NULL, NULL,
LSM303DLHC_COMP_FS_1P3GA, LSM303DLHC_COMP_FS_1P3GA,
@ -70,13 +68,6 @@ static const LSM303DLHCCompConfig lsm303dlhccompcfg = {
#endif #endif
}; };
static const LSM303DLHCConfig lsm303dlhccfg = {
&I2CD1,
&i2ccfg,
&lsm303dlhcacccfg,
&lsm303dlhccompcfg
};
/*===========================================================================*/ /*===========================================================================*/
/* Generic code. */ /* Generic code. */
/*===========================================================================*/ /*===========================================================================*/
@ -132,28 +123,28 @@ int main(void) {
lsm303dlhcStart(&LSM303DLHCD1, &lsm303dlhccfg); lsm303dlhcStart(&LSM303DLHCD1, &lsm303dlhccfg);
/* /*
* Normal main() thread activity, spawning shells. * Normal main() thread activity, printing MEMS data on the serial driver 1.
*/ */
while (true) { while (true) {
accelerometerReadRaw(&(LSM303DLHCD1.accelerometer_if), accraw); lsm303dlhcAccelerometerReadRaw(&LSM303DLHCD1, accraw);
chprintf(chp, "LSM303DLHC Accelerometer raw data...\r\n"); chprintf(chp, "LSM303DLHC Accelerometer raw data...\r\n");
for(i = 0; i < LSM303DLHC_ACC_NUMBER_OF_AXES; i++) { for(i = 0; i < LSM303DLHC_ACC_NUMBER_OF_AXES; i++) {
chprintf(chp, "%c-axis: %d\r\n", axisID[i], accraw[i]); chprintf(chp, "%c-axis: %d\r\n", axisID[i], accraw[i]);
} }
compassReadRaw(&(LSM303DLHCD1.compass_if), compraw); lsm303dlhcCompassReadRaw(&LSM303DLHCD1, compraw);
chprintf(chp, "LSM303DLHC Compass raw data...\r\n"); chprintf(chp, "LSM303DLHC Compass raw data...\r\n");
for(i = 0; i < LSM303DLHC_COMP_NUMBER_OF_AXES; i++) { for(i = 0; i < LSM303DLHC_COMP_NUMBER_OF_AXES; i++) {
chprintf(chp, "%c-axis: %d\r\n", axisID[i], compraw[i]); chprintf(chp, "%c-axis: %d\r\n", axisID[i], compraw[i]);
} }
accelerometerReadCooked(&(LSM303DLHCD1.accelerometer_if), acccooked); lsm303dlhcAccelerometerReadCooked(&LSM303DLHCD1, acccooked);
chprintf(chp, "LSM303DLHC Accelerometer cooked data...\r\n"); chprintf(chp, "LSM303DLHC Accelerometer cooked data...\r\n");
for(i = 0; i < LSM303DLHC_ACC_NUMBER_OF_AXES; i++) { for(i = 0; i < LSM303DLHC_ACC_NUMBER_OF_AXES; i++) {
chprintf(chp, "%c-axis: %.3f\r\n", axisID[i], acccooked[i]); chprintf(chp, "%c-axis: %.3f\r\n", axisID[i], acccooked[i]);
} }
compassReadCooked(&(LSM303DLHCD1.compass_if), compcooked); lsm303dlhcCompassReadCooked(&LSM303DLHCD1, compcooked);
chprintf(chp, "LSM303DLHC Compass cooked data...\r\n"); chprintf(chp, "LSM303DLHC Compass cooked data...\r\n");
for(i = 0; i < LSM303DLHC_COMP_NUMBER_OF_AXES; i++) { for(i = 0; i < LSM303DLHC_COMP_NUMBER_OF_AXES; i++) {
chprintf(chp, "%c-axis: %.3f\r\n", axisID[i], compcooked[i]); chprintf(chp, "%c-axis: %.3f\r\n", axisID[i], compcooked[i]);