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@1:40e5ac1119a6, 2022-07-12 (annotated)
- Committer:
- fionalin
- Date:
- Tue Jul 12 13:02:25 2022 -0400
- Revision:
- 1:40e5ac1119a6
- Parent:
- 0:4e3ad938564e
- Child:
- 2:d9745be6c253
updated to macro format
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fionalin | 0:4e3ad938564e | 1 | #include <mbed.h> |
fionalin | 0:4e3ad938564e | 2 | #include "capsense.h" |
fionalin | 0:4e3ad938564e | 3 | |
fionalin | 0:4e3ad938564e | 4 | CapSense::CapSense(PinName measure_pin, PinName square_pin) |
fionalin | 0:4e3ad938564e | 5 | : cap_sense_measure(measure_pin), square_wave(square_pin), |
fionalin | 0:4e3ad938564e | 6 | measured_this_cycle(false) {} |
fionalin | 0:4e3ad938564e | 7 | |
fionalin | 0:4e3ad938564e | 8 | bool CapSense::toggle() { |
fionalin | 0:4e3ad938564e | 9 | bool last_signal = square_wave.read(); |
fionalin | 1:40e5ac1119a6 | 10 | square_wave.write(!last_signal); |
fionalin | 1:40e5ac1119a6 | 11 | if (!last_signal) { |
fionalin | 1:40e5ac1119a6 | 12 | measured_this_cycle = false; |
fionalin | 1:40e5ac1119a6 | 13 | timer.start(); |
fionalin | 1:40e5ac1119a6 | 14 | } |
fionalin | 1:40e5ac1119a6 | 15 | return !last_signal; |
fionalin | 0:4e3ad938564e | 16 | } |
fionalin | 0:4e3ad938564e | 17 | |
fionalin | 0:4e3ad938564e | 18 | bool CapSense::try_measure() { |
fionalin | 1:40e5ac1119a6 | 19 | if (cap_sense_measure.read() == 1 && !measured_this_cycle) |
fionalin | 1:40e5ac1119a6 | 20 | { |
fionalin | 0:4e3ad938564e | 21 | timer.stop(); |
fionalin | 0:4e3ad938564e | 22 | last_measurement = timer.read(); |
fionalin | 0:4e3ad938564e | 23 | measured_this_cycle = true; |
fionalin | 0:4e3ad938564e | 24 | timer.reset(); |
fionalin | 0:4e3ad938564e | 25 | return true; |
fionalin | 0:4e3ad938564e | 26 | } |
fionalin | 0:4e3ad938564e | 27 | return false; |
fionalin | 0:4e3ad938564e | 28 | } |
fionalin | 0:4e3ad938564e | 29 | |
fionalin | 0:4e3ad938564e | 30 | long CapSense::read_measurement() { |
fionalin | 0:4e3ad938564e | 31 | return last_measurement; |
fionalin | 0:4e3ad938564e | 32 | } |
fionalin | 0:4e3ad938564e | 33 | |
fionalin | 0:4e3ad938564e | 34 | |
fionalin | 0:4e3ad938564e | 35 |