-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.c
More file actions
61 lines (48 loc) · 1.26 KB
/
Copy pathmain.c
File metadata and controls
61 lines (48 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
* Copyright 2026 NXP
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <stdbool.h>
#include "board.h"
#include "app.h"
#include "fsl_debug_console.h"
#include "hal_i2c_sparkFun_nxp.h"
#include "SparkFun_Qwiic_KX13X.h"
/*!
* @brief Main function
*/
int main(void)
{
bool state;
i2c_sparkfun_nxp_hal_t *hal_i2c;
outputData_t accelerometer;
BOARD_InitHardware();
hal_i2c = hal_i2c_sparkFun_nxp_init();
hal_i2c->begin();
QwDevKX13X_setCommunicationBus(hal_i2c, KX13X_ADDRESS_HIGH);
state = QwDevKX132_init();
if(!state)
{
PRINTF("Error initializing Accelerometer\n\r");
while(1);
}
PRINTF("Accelerometer Initialized\n\r");
QwDevKX13X_softwareReset();
SDK_DelayAtLeastUs(5000, MAIN_CLOCK_FREQUENCY);
QwDevKX13X_enableAccel(false);
QwDevKX13X_setRange(SFE_KX132_RANGE2G);
QwDevKX13X_enableDataEngine(true);
QwDevKX13X_enableAccel(true);
while (1)
{
if (QwDevKX13X_dataReady())
{
QwDevKX132_getAccelData(&accelerometer);
PRINTF("X: %f ", accelerometer.xData);
PRINTF("Y: %f ", accelerometer.yData);
PRINTF("Z: %f\n\r", accelerometer.zData);
}
SDK_DelayAtLeastUs(1000000, MAIN_CLOCK_FREQUENCY);
}
}