summaryrefslogtreecommitdiffstatshomepage
path: root/examples/SDdatalogger/datalogger.py
blob: 1d1195700cbb47ec581d72595c1452e3567fdecf (plain) (blame)
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
# datalogger.py
# Logs the data from the acceleromter to a file on the SD-card

import pyb

# creating objects
accel = pyb.Accel()
blue = pyb.LED(4)
switch = pyb.Switch()

# loop
while True:
    # wait for interrupt
    # this reduces power consumption while waiting for switch press
    pyb.wfi()

    # start if switch is pressed
    if switch():
        pyb.delay(200)  # delay avoids detection of multiple presses
        blue.on()  # blue LED indicates file open
        log = open("/sd/log.csv", "w")  # open file on SD (SD: '/sd/', flash: '/flash/)

        # until switch is pressed again
        while not switch():
            t = pyb.millis()  # get time
            x, y, z = accel.filtered_xyz()  # get acceleration data
            log.write("{},{},{},{}\n".format(t, x, y, z))  # write data to file

        # end after switch is pressed again
        log.close()  # close file
        blue.off()  # blue LED indicates file closed
        pyb.delay(200)  # delay avoids detection of multiple presses