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@0:4e3ad938564e, 2022-06-28 (annotated)
- Committer:
- fionalin
- Date:
- Tue Jun 28 21:32:51 2022 +0000
- Revision:
- 0:4e3ad938564e
- Child:
- 1:40e5ac1119a6
init commit
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 | 0:4e3ad938564e | 10 | square_wave.write(!last_signal); |
fionalin | 0:4e3ad938564e | 11 | if (!last_signal) { |
fionalin | 0:4e3ad938564e | 12 | measured_this_cycle = false; |
fionalin | 0:4e3ad938564e | 13 | timer.start(); |
fionalin | 0:4e3ad938564e | 14 | } |
fionalin | 0:4e3ad938564e | 15 | return !last_signal; |
fionalin | 0:4e3ad938564e | 16 | } |
fionalin | 0:4e3ad938564e | 17 | |
fionalin | 0:4e3ad938564e | 18 | bool CapSense::try_measure() { |
fionalin | 0:4e3ad938564e | 19 | if (cap_sense_measure.read() == 1 && !measured_this_cycle) { |
fionalin | 0:4e3ad938564e | 20 | timer.stop(); |
fionalin | 0:4e3ad938564e | 21 | last_measurement = timer.read(); |
fionalin | 0:4e3ad938564e | 22 | measured_this_cycle = true; |
fionalin | 0:4e3ad938564e | 23 | timer.reset(); |
fionalin | 0:4e3ad938564e | 24 | return true; |
fionalin | 0:4e3ad938564e | 25 | } |
fionalin | 0:4e3ad938564e | 26 | return false; |
fionalin | 0:4e3ad938564e | 27 | } |
fionalin | 0:4e3ad938564e | 28 | |
fionalin | 0:4e3ad938564e | 29 | long CapSense::read_measurement() { |
fionalin | 0:4e3ad938564e | 30 | return last_measurement; |
fionalin | 0:4e3ad938564e | 31 | } |
fionalin | 0:4e3ad938564e | 32 | |
fionalin | 0:4e3ad938564e | 33 | |
fionalin | 0:4e3ad938564e | 34 |