aboutsummaryrefslogtreecommitdiff
path: root/examples/SDdatalogger/datalogger.py
blob: 0690c20bb9c45d9414e580957260e35043c5385a (plain)
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
# 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