ISF  2.2 rev 5
Intelligent Sensing Framework for Kinetis with Processor Expert
MMA955x_2 module documentation

Macros

#define FSL_SENSOR_SPI_CMD_LENG   0x1
 
#define MMA955x_2_DATA_TYPE   mma955x_PedometerNativeData_t
 
#define MMA955x_2_SAMPLE_OFFSET   (26)
 
#define MMA955x_2_SAMPLE_SIZE   (6)
 
#define MMA955x_2_CONFIG_REGISTER_READ_OFFSET   (0)
 
#define MMA955x_2_CONFIG_REGISTER_SIZE   (sizeof(mma955x_readConfigResponseBuffer_t))
 
#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_2g   (0.000061035156)
 
#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_4g   (0.000122070312)
 
#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_8g   (0.000244140624)
 

Functions

void mma955xSetSamplingRate (uint32 samplePeriod)
 
isf_status_t fsl_955x_spi_slave_init (void)
 
isf_status_t fsl_955x_spi_slave_write_preprocess (void *pCmdOut, uint32 offset, uint32 size, void *pWritebuffer)
 
isf_status_t fsl_955x_spi_slave_write_postprocess (void *pCmdOut)
 
isf_status_t fsl_955x_spi_slave_read_preprocess (void *pCmdOut, uint32 offset, uint32 size)
 
isf_status_t fsl_955x_spi_slave_read_postprocess (void *pCmdOut, void *pDataOut)
 

Variables

uint8 MMA955x_2_ConfigRegisterBuffer [MMA955x_2_CONFIG_REGISTER_SIZE]
 
uint8 SelectedSampleRate [] = { 0x06, 0x20, 0x0C, 0x01, 0x00 }
 
uint8 SelectedAFEPriority [] = { 0x01, 0x20, 0x32, 0x01, 0x00 }
 
uint8 SelectedMBoxPriority [] = { 0x01, 0x20, 0x30, 0x01, 0x00 }
 
const uint8 SampleRates []
 
const uint8 ApplicationPriorities []
 
const uint8 const FSRange_2g [] = { 0x06, 0x20, 0x00, 0x01, 0x40 }
 
const uint8 const FSRange_4g [] = { 0x06, 0x20, 0x00, 0x01, 0x80 }
 
const uint8 const FSRange_8g [] = { 0x06, 0x20, 0x00, 0x01, 0x00 }
 
const uint8 const WakeApplication [] = { 0x12, 0x20, 0x06, 0x01, 0x00 }
 
const uint8 const LegacyMode [] = { 0x18, 0x20, 0x00, 0x01, 0x10 }
 
const uint8 const NormalMode [] = { 0x18, 0x20, 0x00, 0x01, 0x00 }
 
const uint8 const SleepApplication [] = { 0x12, 0x20, 0x06, 0x01, 0x01 }
 
const uint8 const MBoxQRDataXYZ [] = { 0x04, 0x20, 0x2C, 0x0C, 0x06, 0x13, 0x06, 0x12, 0x06, 0x15, 0x06, 0x14, 0x06, 0x17, 0x06, 0x16 }
 
const uint8 const ReadPedometerData [] = { 0x15, 0x30, 0x00, 0x0C }
 
const uint8 const ReadPedometerConfiguration [] = { 0x15, 0x10, 0x00, 0x11 }
 
const uint8 const WritePedometerConfiguration [] = { 0x15, 0x20, 0x00, 0x11 }
 
const mma955x_Command_t const MMA955x_InitializeSequence []
 
const mma955x_Command_t const MMA955x_ConfigureSequence []
 
const mma955x_Command_t const MMA955x_StartDataSequence []
 
const mma955x_Command_t const MMA955x_StopDataSequence []
 
const mma955x_Command_t const MMA955x_ShutdownDataSequence []
 
const mma955x_Command_t const MMA955x_ReadConfigurationSequence []
 
const mma955x_Command_t const MMA955x_WriteConfigurationSequence []
 
const mma955x_Command_t const MMA955x_ReadPeadometerDataSequence []
 
mma955x_Sensor_Specific_Settings_t MMA955x_2_Sensor_Specific_Config
 This allows access to the sensor specific configuration for the target sensor. More...
 
const isf_dsa_Adapter_t MMA955x_2_Adapter
 This creates the sensor adapter instance for the target sensor. More...
 
spi_master_slaveInfo_t fsl_spi_sensor_type_MMA955x_2
 
const spi_master_CommSpecificInfo_t MMA955x_2_DeviceInfo
 This allows access to the sensor communications specific configuration. More...
 
mma955x_Sensor_Specific_Settings_t MMA955x_2_Sensor_Specific_Config
 This allows access to the sensor specific configuration for the target sensor. More...
 
const isf_dsa_Adapter_t MMA955x_2_Adapter
 This allows access to the sensor adapter instance for the target sensor. More...
 
const spi_master_CommSpecificInfo_t MMA955x_2_DeviceInfo
 This allows access to the sensor communications specific configuration. More...
 

Detailed Description

Macro Definition Documentation

#define FSL_SENSOR_SPI_CMD_LENG   0x1
#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_2g   (0.000061035156)

Definition at line 62 of file MMA955x_2.h.

#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_4g   (0.000122070312)

Definition at line 63 of file MMA955x_2.h.

#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_8g   (0.000244140624)

Definition at line 64 of file MMA955x_2.h.

#define MMA955x_2_CONFIG_REGISTER_READ_OFFSET   (0)

Definition at line 58 of file MMA955x_2.h.

#define MMA955x_2_CONFIG_REGISTER_SIZE   (sizeof(mma955x_readConfigResponseBuffer_t))

Definition at line 59 of file MMA955x_2.h.

#define MMA955x_2_DATA_TYPE   mma955x_PedometerNativeData_t

Definition at line 55 of file MMA955x_2.h.

#define MMA955x_2_SAMPLE_OFFSET   (26)

Definition at line 56 of file MMA955x_2.h.

#define MMA955x_2_SAMPLE_SIZE   (6)

Definition at line 57 of file MMA955x_2.h.

Function Documentation

isf_status_t fsl_955x_spi_slave_init ( void  )
isf_status_t fsl_955x_spi_slave_read_postprocess ( void *  pCmdOut,
void *  pDataOut 
)
isf_status_t fsl_955x_spi_slave_read_preprocess ( void *  pCmdOut,
uint32  offset,
uint32  size 
)
isf_status_t fsl_955x_spi_slave_write_postprocess ( void *  pCmdOut)

Definition at line 311 of file MMA955x_2.c.

References ISF_SUCCESS, and XTAL_K64_MAIN.

isf_status_t fsl_955x_spi_slave_write_preprocess ( void *  pCmdOut,
uint32  offset,
uint32  size,
void *  pWritebuffer 
)
void mma955xSetSamplingRate ( uint32  samplePeriod)

Definition at line 259 of file MMA955x_2.c.

References ApplicationPriorities, SampleRates, SelectedAFEPriority, SelectedMBoxPriority, and SelectedSampleRate.

Referenced by fsl_mma955x_Configure().

Here is the caller graph for this function:

Variable Documentation

const uint8 ApplicationPriorities[]
Initial value:
= { 0xD7,
0xD6,
0xD5,
0xD4,
0xD3,
0xD2,
0xD1,
0xD0 }

Definition at line 63 of file MMA955x_2.c.

Referenced by mma955xSetSamplingRate().

spi_master_slaveInfo_t fsl_spi_sensor_type_MMA955x_2
Initial value:
= {
}
isf_status_t fsl_955x_spi_slave_write_preprocess(void *pCmdOut, uint32 offset, uint32 size, void *pWritebuffer)
Definition: MMA955x_2.c:287
isf_status_t fsl_955x_spi_slave_read_postprocess(void *pCmdOut, void *pDataOut)
Definition: MMA955x_2.c:340
isf_status_t fsl_955x_spi_slave_init(void)
Definition: MMA955x_2.c:270
isf_status_t fsl_955x_spi_slave_write_postprocess(void *pCmdOut)
Definition: MMA955x_2.c:311
isf_status_t(* fnwritepreProcessing_t)(void *cmdOut, uint32 offset, uint32 size, void *writebuffer)
isf_status_t(* fnwritepostProcossing_t)(void *cmd)
isf_status_t fsl_955x_spi_slave_read_preprocess(void *pCmdOut, uint32 offset, uint32 size)
Definition: MMA955x_2.c:319
isf_status_t(* fnreadpreProcessing_t)(void *cmdout, uint32 offset, uint32 size)
isf_status_t(* fnreadpostProcossing_t)(void *cmd, void *dataOut)
isf_status_t(* fnslaveinit_t)(void)

Definition at line 221 of file MMA955x_2.c.

const uint8 const FSRange_2g[] = { 0x06, 0x20, 0x00, 0x01, 0x40 }

Definition at line 72 of file MMA955x_2.c.

const uint8 const FSRange_4g[] = { 0x06, 0x20, 0x00, 0x01, 0x80 }

Definition at line 73 of file MMA955x_2.c.

const uint8 const FSRange_8g[] = { 0x06, 0x20, 0x00, 0x01, 0x00 }

Definition at line 74 of file MMA955x_2.c.

const uint8 const LegacyMode[] = { 0x18, 0x20, 0x00, 0x01, 0x10 }

Definition at line 77 of file MMA955x_2.c.

const uint8 const MBoxQRDataXYZ[] = { 0x04, 0x20, 0x2C, 0x0C, 0x06, 0x13, 0x06, 0x12, 0x06, 0x15, 0x06, 0x14, 0x06, 0x17, 0x06, 0x16 }

Definition at line 80 of file MMA955x_2.c.

const isf_dsa_Adapter_t MMA955x_2_Adapter

This allows access to the sensor adapter instance for the target sensor.

This allows access to the sensor adapter instance for the target sensor.

Definition at line 204 of file MMA955x_2.c.

const isf_dsa_Adapter_t MMA955x_2_Adapter
Initial value:
=
{
.devInfo.pSupportedSensorTypes = mma955x_SupportedSensorTypes,
.devInfo.pSupportedSensorDataTypes = mma955x_SupportedDataTypes,
.devInfo.nNativeDataSetSize = sizeof(mma955x_DataBuffer_t),
.control.Initialize = &fsl_mma955x_Initialize,
.control.ValidateSettings = &fsl_mma955x_ValidateSettings,
.control.Configure = &fsl_mma955x_Configure,
.control.StartData = &fsl_mma955x_StartData,
.control.EndData = &fsl_mma955x_EndData,
.control.Calibrate = &fsl_mma955x_Calibrate,
.control.Shutdown = &fsl_mma955x_Shutdown,
.control.Convert = &fsl_mma955x_Convert
}
isf_dsa_status_t fsl_mma955x_EndData(isf_SensorHandle_t *pSensorHandle)
isf_dsa_status_t fsl_mma955x_Configure(isf_SensorHandle_t *pSensorHandle, isf_dsa_SensorSettings_t *pSensorSettings)
isf_dsa_status_t fsl_mma955x_Calibrate(isf_SensorHandle_t *pSensorHandle, void *pCalData)
isf_dsa_status_t fsl_mma955x_Convert(volatile isf_SensorHandle_t *pSensorHandle, isf_SensorDataTypes_t convertToType, isf_dsa_result_types_t resultType, void *pNativeSample, void *pConvertedSample, int32 *numBytes)
This function converts the raw sample data to the desired output type.
isf_dsa_status_t fsl_mma955x_Initialize(isf_SensorHandle_t *pSensorHandle)
isf_dsa_status_t fsl_mma955x_ValidateSettings(isf_SensorHandle_t *pSensorHandle, isf_dsa_SensorSettings_t *pSubSettings)
isf_dsa_status_t fsl_mma955x_Shutdown(isf_SensorHandle_t *pSensorHandle)
This structure defines the Pedometer sample data buffer format.
isf_SensorDataTypes_t mma955x_SupportedDataTypes[]
isf_dsa_status_t fsl_mma955x_StartData(isf_SensorHandle_t *pSensorHandle)
isf_SensorTypes_t mma955x_SupportedSensorTypes[]
Supported sensor and data types.

This creates the sensor adapter instance for the target sensor.

This allows access to the sensor adapter instance for the target sensor.

Definition at line 204 of file MMA955x_2.c.

uint8 MMA955x_2_ConfigRegisterBuffer[MMA955x_2_CONFIG_REGISTER_SIZE]

Definition at line 48 of file MMA955x_2.c.

const spi_master_CommSpecificInfo_t MMA955x_2_DeviceInfo

This allows access to the sensor communications specific configuration.

Definition at line 229 of file MMA955x_2.c.

const spi_master_CommSpecificInfo_t MMA955x_2_DeviceInfo
Initial value:
=
{
.busConfig =
{
.timeout = 1000U,
.device =
{
.bitsPerSec = 500000U,
.dataBusConfig.bitsPerFrame = 8U,
.dataBusConfig.clkPolarity = kDspiClockPolarity_ActiveHigh,
.dataBusConfig.clkPhase = kDspiClockPhase_FirstEdge,
.dataBusConfig.direction = kDspiMsbFirst,
},
.userConfig =
{
.whichCtar = kDspiCtar0,
.isSckContinuous = false,
.isChipSelectContinuous = false,
.whichPcs = kDspiPcs0,
.pcsPolarity = kDspiPcs_ActiveHigh,
},
},
}
spi_master_slaveInfo_t fsl_spi_sensor_type_MMA955x_2
Definition: MMA955x_2.c:221

This allows access to the sensor communications specific configuration.

Definition at line 229 of file MMA955x_2.c.

mma955x_Sensor_Specific_Settings_t MMA955x_2_Sensor_Specific_Config

This allows access to the sensor specific configuration for the target sensor.

Definition at line 178 of file MMA955x_2.c.

mma955x_Sensor_Specific_Settings_t MMA955x_2_Sensor_Specific_Config
Initial value:
=
{
.sampleDataOffset = MMA955x_2_SAMPLE_OFFSET,
.sampleDataSize = MMA955x_2_SAMPLE_SIZE,
.commandReadSize = MMA955x_2_CONFIG_REGISTER_SIZE,
.engFloatConversionFactor = MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_8g,
.engFixedTotalWidth = 32,
.engFixedIntegerWidth = 16,
.engFixedSignBit = 1,
.writeConfigCommands = { .numCommands=sizeof(MMA955x_WriteConfigurationSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_WriteConfigurationSequence },
.readConfigCommands = { .numCommands=sizeof(MMA955x_ReadConfigurationSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_ReadConfigurationSequence },
.initializeCommands = { .numCommands=sizeof(MMA955x_InitializeSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_InitializeSequence },
.validateSettingsCommands = { .numCommands=0, .commands=NULL },
.configureCommands = { .numCommands=sizeof(MMA955x_ConfigureSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_ConfigureSequence },
.startDataCommands = { .numCommands=sizeof(MMA955x_StartDataSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_StartDataSequence },
.endDataCommands = { .numCommands=sizeof(MMA955x_StopDataSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_StopDataSequence },
.calibrateCommands = { .numCommands=0, .commands=NULL },
.shutdownCommands = { .numCommands=sizeof(MMA955x_ShutdownDataSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_ShutdownDataSequence },
.getPedometerDataCommands = { .numCommands=sizeof(MMA955x_ReadPeadometerDataSequence)/sizeof(mma955x_Command_t), .commands=MMA955x_ReadPeadometerDataSequence }
}
#define MMA955x_2_SAMPLE_OFFSET
Definition: MMA955x_2.h:56
#define MMA955x_2_ACC_FLOAT_CONVERSION_FACTOR_8g
Definition: MMA955x_2.h:64
const mma955x_Command_t const MMA955x_StartDataSequence[]
Definition: MMA955x_2.c:124
const mma955x_Command_t const MMA955x_WriteConfigurationSequence[]
Definition: MMA955x_2.c:160
#define MMA955x_2_CONFIG_REGISTER_READ_OFFSET
Definition: MMA955x_2.h:58
const mma955x_Command_t const MMA955x_ReadConfigurationSequence[]
Definition: MMA955x_2.c:151
const mma955x_Command_t const MMA955x_InitializeSequence[]
Definition: MMA955x_2.c:86
#define MMA955x_2_SAMPLE_SIZE
Definition: MMA955x_2.h:57
const mma955x_Command_t const MMA955x_ConfigureSequence[]
Definition: MMA955x_2.c:95
const mma955x_Command_t const MMA955x_ShutdownDataSequence[]
Definition: MMA955x_2.c:142
const mma955x_Command_t const MMA955x_ReadPeadometerDataSequence[]
Definition: MMA955x_2.c:169
const mma955x_Command_t const MMA955x_StopDataSequence[]
Definition: MMA955x_2.c:133
#define MMA955x_2_CONFIG_REGISTER_SIZE
Definition: MMA955x_2.h:59

This allows access to the sensor specific configuration for the target sensor.

Definition at line 178 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_ConfigureSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(FSRange_8g),
.pWriteBuffer = (uint8* const)FSRange_8g
},
{
.offset = 0,
.nByteWrite = sizeof(SelectedSampleRate),
.pWriteBuffer = (uint8* const)SelectedSampleRate
},
{
.offset = 0,
.nByteWrite = sizeof(SelectedAFEPriority),
.pWriteBuffer = (uint8* const)SelectedAFEPriority
},
{
.offset = 0,
.nByteWrite = sizeof(SelectedMBoxPriority),
.pWriteBuffer = (uint8* const)SelectedMBoxPriority
},
{
.offset = 0,
.nByteWrite = sizeof(WakeApplication),
.pWriteBuffer = (uint8* const)WakeApplication
}
}
unsigned char uint8
Definition: isf_types.h:76
uint8 SelectedMBoxPriority[]
Definition: MMA955x_2.c:53
const uint8 const FSRange_8g[]
Definition: MMA955x_2.c:74
const uint8 const WakeApplication[]
Definition: MMA955x_2.c:76
uint8 SelectedAFEPriority[]
Definition: MMA955x_2.c:52
uint8 SelectedSampleRate[]
Definition: MMA955x_2.c:51

Definition at line 95 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_InitializeSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(MBoxQRDataXYZ),
.pWriteBuffer = (uint8* const)MBoxQRDataXYZ
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const MBoxQRDataXYZ[]
Definition: MMA955x_2.c:80

Definition at line 86 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_ReadConfigurationSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(ReadPedometerConfiguration),
.pWriteBuffer = (uint8* const)ReadPedometerConfiguration
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const ReadPedometerConfiguration[]
Definition: MMA955x_2.c:83

Definition at line 151 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_ReadPeadometerDataSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(ReadPedometerData),
.pWriteBuffer = (uint8* const)ReadPedometerData
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const ReadPedometerData[]
Definition: MMA955x_2.c:82

Definition at line 169 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_ShutdownDataSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(SleepApplication),
.pWriteBuffer = (uint8* const)SleepApplication
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const SleepApplication[]
Definition: MMA955x_2.c:79

Definition at line 142 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_StartDataSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(LegacyMode),
.pWriteBuffer = (uint8* const)LegacyMode
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const LegacyMode[]
Definition: MMA955x_2.c:77

Definition at line 124 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_StopDataSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(NormalMode),
.pWriteBuffer = (uint8* const)NormalMode
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const NormalMode[]
Definition: MMA955x_2.c:78

Definition at line 133 of file MMA955x_2.c.

const mma955x_Command_t const MMA955x_WriteConfigurationSequence[]
Initial value:
=
{
{
.offset = 0,
.nByteWrite = sizeof(WritePedometerConfiguration),
.pWriteBuffer = (uint8* const)WritePedometerConfiguration
}
}
unsigned char uint8
Definition: isf_types.h:76
const uint8 const WritePedometerConfiguration[]
Definition: MMA955x_2.c:84

Definition at line 160 of file MMA955x_2.c.

const uint8 const NormalMode[] = { 0x18, 0x20, 0x00, 0x01, 0x00 }

Definition at line 78 of file MMA955x_2.c.

const uint8 const ReadPedometerConfiguration[] = { 0x15, 0x10, 0x00, 0x11 }

Definition at line 83 of file MMA955x_2.c.

const uint8 const ReadPedometerData[] = { 0x15, 0x30, 0x00, 0x0C }

Definition at line 82 of file MMA955x_2.c.

const uint8 SampleRates[]
Initial value:
= { 0x07,
0x08,
0x09,
0x0A,
0x0B,
0x0C,
0x0D,
0x0E }

Definition at line 55 of file MMA955x_2.c.

Referenced by mma955xSetSamplingRate().

uint8 SelectedAFEPriority[] = { 0x01, 0x20, 0x32, 0x01, 0x00 }

Definition at line 52 of file MMA955x_2.c.

Referenced by mma955xSetSamplingRate().

uint8 SelectedMBoxPriority[] = { 0x01, 0x20, 0x30, 0x01, 0x00 }

Definition at line 53 of file MMA955x_2.c.

Referenced by mma955xSetSamplingRate().

uint8 SelectedSampleRate[] = { 0x06, 0x20, 0x0C, 0x01, 0x00 }

Definition at line 51 of file MMA955x_2.c.

Referenced by mma955xSetSamplingRate().

const uint8 const SleepApplication[] = { 0x12, 0x20, 0x06, 0x01, 0x01 }

Definition at line 79 of file MMA955x_2.c.

const uint8 const WakeApplication[] = { 0x12, 0x20, 0x06, 0x01, 0x00 }

Definition at line 76 of file MMA955x_2.c.

const uint8 const WritePedometerConfiguration[] = { 0x15, 0x20, 0x00, 0x11 }

Definition at line 84 of file MMA955x_2.c.