EX hierarchy re-organized,
Improved documentation for L3GD20 related files, SPI-L3GD20 demo updated, Minor indent fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9043 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
2eef164c17
commit
7d6f337b8c
|
@ -96,7 +96,7 @@
|
|||
#endif
|
||||
|
||||
#if L3GD20_USE_I2C && !HAL_USE_I2C
|
||||
#error "L3GD20_USE_SPI requires HAL_USE_I2C"
|
||||
#error "L3GD20_USE_I2C requires HAL_USE_I2C"
|
||||
#endif
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
|
@ -106,64 +106,63 @@
|
|||
* @name L3GD20 data structures and types
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief L3GD20 Output Data Rate
|
||||
* @brief L3GD20 full scale
|
||||
*/
|
||||
typedef enum {
|
||||
L3GD20_ODR_95HZ_FC_12_5 = 0x00,
|
||||
L3GD20_ODR_95HZ_FC_25 = 0x10,
|
||||
L3GD20_ODR_190HZ_FC_12_5 = 0x40,
|
||||
L3GD20_ODR_190HZ_FC_25 = 0x50,
|
||||
L3GD20_ODR_190HZ_FC_50 = 0x60,
|
||||
L3GD20_ODR_190HZ_FC_70 = 0x70,
|
||||
L3GD20_ODR_380HZ_FC_20 = 0x80,
|
||||
L3GD20_ODR_380HZ_FC_25 = 0x90,
|
||||
L3GD20_ODR_380HZ_FC_50 = 0xA0,
|
||||
L3GD20_ODR_380HZ_FC_100 = 0xB0,
|
||||
L3GD20_ODR_760HZ_FC_30 = 0xC0,
|
||||
L3GD20_ODR_760HZ_FC_35 = 0xD0,
|
||||
L3GD20_ODR_760HZ_FC_50 = 0xE0,
|
||||
L3GD20_ODR_760HZ_FC_100 = 0xF0
|
||||
}l3gd20_odr_t;
|
||||
|
||||
/**
|
||||
* @brief L3GD20 Full Scale
|
||||
*/
|
||||
typedef enum {
|
||||
L3GD20_FS_250DPS = 0x00,
|
||||
L3GD20_FS_500DPS = 0x10,
|
||||
L3GD20_FS_2000DPS = 0x20
|
||||
L3GD20_FS_250DPS = 0x00, /**< Full scale 250 degree per second. */
|
||||
L3GD20_FS_500DPS = 0x10, /**< Full scale 500 degree per second. */
|
||||
L3GD20_FS_2000DPS = 0x20 /**< Full scale 2000 degree per second. */
|
||||
}l3gd20_fs_t;
|
||||
|
||||
/**
|
||||
* @brief L3GD20 Axes Enabling
|
||||
* @brief L3GD20 output data rate and bandwidth
|
||||
*/
|
||||
typedef enum {
|
||||
L3GD20_AE_DISABLED = 0x00,
|
||||
L3GD20_AE_X = 0x01,
|
||||
L3GD20_AE_Y = 0x02,
|
||||
L3GD20_AE_XY = 0x03,
|
||||
L3GD20_AE_Z = 0x04,
|
||||
L3GD20_AE_XZ = 0x05,
|
||||
L3GD20_AE_YZ = 0x06,
|
||||
L3GD20_AE_XYZ = 0x07
|
||||
L3GD20_ODR_95HZ_FC_12_5 = 0x00, /**< ODR 95 Hz, BW 12.5 Hz. */
|
||||
L3GD20_ODR_95HZ_FC_25 = 0x10, /**< ODR 95 Hz, BW 25Hz. */
|
||||
L3GD20_ODR_190HZ_FC_12_5 = 0x40, /**< ODR 190 Hz, BW 12.5 Hz. */
|
||||
L3GD20_ODR_190HZ_FC_25 = 0x50, /**< ODR 190 Hz, BW 25 Hz. */
|
||||
L3GD20_ODR_190HZ_FC_50 = 0x60, /**< ODR 190 Hz, BW 50 Hz. */
|
||||
L3GD20_ODR_190HZ_FC_70 = 0x70, /**< ODR 190 Hz, BW 70 Hz. */
|
||||
L3GD20_ODR_380HZ_FC_20 = 0x80, /**< ODR 380 Hz, BW 20 Hz. */
|
||||
L3GD20_ODR_380HZ_FC_25 = 0x90, /**< ODR 380 Hz, BW 25 Hz. */
|
||||
L3GD20_ODR_380HZ_FC_50 = 0xA0, /**< ODR 380 Hz, BW 50 Hz. */
|
||||
L3GD20_ODR_380HZ_FC_100 = 0xB0, /**< ODR 380 Hz, BW 100 Hz. */
|
||||
L3GD20_ODR_760HZ_FC_30 = 0xC0, /**< ODR 760 Hz, BW 30 Hz. */
|
||||
L3GD20_ODR_760HZ_FC_35 = 0xD0, /**< ODR 760 Hz, BW 35 Hz. */
|
||||
L3GD20_ODR_760HZ_FC_50 = 0xE0, /**< ODR 760 Hz, BW 50 Hz. */
|
||||
L3GD20_ODR_760HZ_FC_100 = 0xF0 /**< ODR 760 Hz, BW 100 Hz. */
|
||||
}l3gd20_odr_t;
|
||||
|
||||
/**
|
||||
* @brief L3GD20 axes enabling
|
||||
*/
|
||||
typedef enum {
|
||||
L3GD20_AE_DISABLED = 0x00, /**< All axes disabled. */
|
||||
L3GD20_AE_X = 0x01, /**< Only X-axis enabled. */
|
||||
L3GD20_AE_Y = 0x02, /**< Only Y-axis enabled. */
|
||||
L3GD20_AE_XY = 0x03, /**< X and Y axes enabled. */
|
||||
L3GD20_AE_Z = 0x04, /**< Only Z-axis enabled. */
|
||||
L3GD20_AE_XZ = 0x05, /**< X and Z axes enabled. */
|
||||
L3GD20_AE_YZ = 0x06, /**< Y and Z axes enabled. */
|
||||
L3GD20_AE_XYZ = 0x07 /**< All axes enabled. */
|
||||
}l3gd20_ae_t;
|
||||
|
||||
/**
|
||||
* @brief L3GD20 Block Data Update
|
||||
* @brief L3GD20 block data update
|
||||
*/
|
||||
typedef enum {
|
||||
L3GD20_BDU_CONTINOUS = 0x00,
|
||||
L3GD20_BDU_BLOCKED = 0x80
|
||||
L3GD20_BDU_CONTINOUS = 0x00, /**< Block data continuously updated. */
|
||||
L3GD20_BDU_BLOCKED = 0x80 /**< Block data updated after reading. */
|
||||
}l3gd20_bdu_t;
|
||||
|
||||
/**
|
||||
* @brief L3GD20 Endianness
|
||||
* @brief L3GD20 endianness
|
||||
*/
|
||||
typedef enum {
|
||||
L3GD20_END_LITTLE = 0x00,
|
||||
L3GD20_END_BIG = 0x40
|
||||
L3GD20_END_LITTLE = 0x00, /**< Little endian. */
|
||||
L3GD20_END_BIG = 0x40 /**< Big endian. */
|
||||
}l3gd20_end_t;
|
||||
|
||||
/**
|
||||
|
@ -212,14 +211,14 @@ typedef struct {
|
|||
* @brief L3GD20 axes enabling.
|
||||
*/
|
||||
l3gd20_ae_t axesenabling;
|
||||
/**
|
||||
* @brief L3GD20 endianness.
|
||||
*/
|
||||
l3gd20_end_t endianness;
|
||||
/**
|
||||
* @brief L3GD20 block data update.
|
||||
*/
|
||||
l3gd20_bdu_t blockdataupdate;
|
||||
/**
|
||||
* @brief L3GD20 endianness.
|
||||
*/
|
||||
l3gd20_end_t endianness;
|
||||
} L3GD20Config;
|
||||
|
||||
/**
|
|
@ -1,6 +1,6 @@
|
|||
# List of all the L3GD20 device files.
|
||||
L3GD20SRC := $(CHIBIOS)/os/ex/gyroscope/ST/l3gd20.c
|
||||
L3GD20SRC := $(CHIBIOS)/os/ex/ST/l3gd20.c
|
||||
|
||||
# Required include directories
|
||||
L3GD20INC := $(CHIBIOS)/os/hal/lib/peripherals/include \
|
||||
$(CHIBIOS)/os/ex/gyroscope/ST
|
||||
$(CHIBIOS)/os/ex/ST
|
|
@ -51,4 +51,5 @@
|
|||
<resource resourceType="PROJECT" workspacePath="/RT-STM32L476RG-NUCLEO"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cproject>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
# Compiler options here.
|
||||
ifeq ($(USE_OPT),)
|
||||
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
|
||||
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
|
||||
endif
|
||||
|
||||
# C specific options here (added to USE_OPT).
|
||||
|
@ -98,7 +98,7 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
|
|||
include $(CHIBIOS)/os/rt/rt.mk
|
||||
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
|
||||
# Other files (optional).
|
||||
include $(CHIBIOS)/os/ex/gyroscope/ST/l3gd20.mk
|
||||
include $(CHIBIOS)/os/ex/ST/l3gd20.mk
|
||||
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
|
||||
|
||||
# Define linker script file here
|
||||
|
|
|
@ -48,8 +48,8 @@ static L3GD20Config l3gd20cfg = {
|
|||
L3GD20_FS_250DPS, /* Full scale value */
|
||||
L3GD20_ODR_760HZ_FC_100, /* Output data rate */
|
||||
L3GD20_AE_XYZ, /* Enabled axes */
|
||||
L3GD20_END_LITTLE, /* Endianness */
|
||||
L3GD20_BDU_BLOCKED /* Block data update */
|
||||
L3GD20_BDU_BLOCKED, /* Block data update */
|
||||
L3GD20_END_LITTLE /* Endianness */
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue