Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
capsense.cpp@2:d9745be6c253, 2022-08-04 (annotated)
- Committer:
- fionalin
- Date:
- Thu Aug 04 15:14:29 2022 -0400
- Revision:
- 2:d9745be6c253
- Parent:
- 1:40e5ac1119a6
hehe forgot to commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fionalin | 2:d9745be6c253 | 1 | #include <cstdint> |
fionalin | 2:d9745be6c253 | 2 | #include <cstdio> |
fionalin | 0:4e3ad938564e | 3 | #include <mbed.h> |
fionalin | 0:4e3ad938564e | 4 | #include "capsense.h" |
fionalin | 0:4e3ad938564e | 5 | |
fionalin | 0:4e3ad938564e | 6 | CapSense::CapSense(PinName measure_pin, PinName square_pin) |
fionalin | 0:4e3ad938564e | 7 | : cap_sense_measure(measure_pin), square_wave(square_pin), |
fionalin | 0:4e3ad938564e | 8 | measured_this_cycle(false) {} |
fionalin | 2:d9745be6c253 | 9 | |
fionalin | 2:d9745be6c253 | 10 | void CapSense::start() { |
fionalin | 2:d9745be6c253 | 11 | square_wave.write(1); |
fionalin | 2:d9745be6c253 | 12 | timer.start(); |
fionalin | 2:d9745be6c253 | 13 | |
fionalin | 2:d9745be6c253 | 14 | measured_this_cycle = false; |
fionalin | 2:d9745be6c253 | 15 | } |
fionalin | 2:d9745be6c253 | 16 | |
fionalin | 2:d9745be6c253 | 17 | void CapSense::reset() { |
fionalin | 2:d9745be6c253 | 18 | square_wave.write(0); |
fionalin | 2:d9745be6c253 | 19 | wait_us(10000); |
fionalin | 0:4e3ad938564e | 20 | } |
fionalin | 0:4e3ad938564e | 21 | |
fionalin | 0:4e3ad938564e | 22 | bool CapSense::try_measure() { |
fionalin | 1:40e5ac1119a6 | 23 | if (cap_sense_measure.read() == 1 && !measured_this_cycle) |
fionalin | 1:40e5ac1119a6 | 24 | { |
fionalin | 2:d9745be6c253 | 25 | |
fionalin | 0:4e3ad938564e | 26 | timer.stop(); |
fionalin | 2:d9745be6c253 | 27 | last_measurement = timer.elapsed_time().count(); |
fionalin | 0:4e3ad938564e | 28 | measured_this_cycle = true; |
fionalin | 0:4e3ad938564e | 29 | timer.reset(); |
fionalin | 0:4e3ad938564e | 30 | return true; |
fionalin | 2:d9745be6c253 | 31 | |
fionalin | 0:4e3ad938564e | 32 | } |
fionalin | 0:4e3ad938564e | 33 | return false; |
fionalin | 0:4e3ad938564e | 34 | } |
fionalin | 0:4e3ad938564e | 35 | |
fionalin | 2:d9745be6c253 | 36 | uint32_t CapSense::read_measurement() { |
fionalin | 0:4e3ad938564e | 37 | return last_measurement; |
fionalin | 0:4e3ad938564e | 38 | } |
fionalin | 0:4e3ad938564e | 39 | |
fionalin | 0:4e3ad938564e | 40 | |
fionalin | 0:4e3ad938564e | 41 |