![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
A metronome using the FRDM K64F board
utils.hpp@0:a7a43371b306, 2017-05-14 (annotated)
- Committer:
- ram54288
- Date:
- Sun May 14 18:40:18 2017 +0000
- Revision:
- 0:a7a43371b306
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ram54288 | 0:a7a43371b306 | 1 | #pragma once |
ram54288 | 0:a7a43371b306 | 2 | |
ram54288 | 0:a7a43371b306 | 3 | #include "mbed.h" |
ram54288 | 0:a7a43371b306 | 4 | #include "mbedtls/entropy_poll.h" |
ram54288 | 0:a7a43371b306 | 5 | |
ram54288 | 0:a7a43371b306 | 6 | namespace utils |
ram54288 | 0:a7a43371b306 | 7 | { |
ram54288 | 0:a7a43371b306 | 8 | unsigned entropy_seed() |
ram54288 | 0:a7a43371b306 | 9 | { |
ram54288 | 0:a7a43371b306 | 10 | unsigned seed; |
ram54288 | 0:a7a43371b306 | 11 | size_t length; |
ram54288 | 0:a7a43371b306 | 12 | |
ram54288 | 0:a7a43371b306 | 13 | unsigned char* seed_bytes = reinterpret_cast<unsigned char*>(&seed); |
ram54288 | 0:a7a43371b306 | 14 | mbedtls_hardware_poll(NULL, seed_bytes, sizeof(unsigned), &length); |
ram54288 | 0:a7a43371b306 | 15 | |
ram54288 | 0:a7a43371b306 | 16 | return seed; |
ram54288 | 0:a7a43371b306 | 17 | } |
ram54288 | 0:a7a43371b306 | 18 | |
ram54288 | 0:a7a43371b306 | 19 | // Default time of 0.2 seconds is fine for this lab |
ram54288 | 0:a7a43371b306 | 20 | void pulse(DigitalOut& led, float t = 0.2f) |
ram54288 | 0:a7a43371b306 | 21 | { |
ram54288 | 0:a7a43371b306 | 22 | led = false; |
ram54288 | 0:a7a43371b306 | 23 | wait(t); |
ram54288 | 0:a7a43371b306 | 24 | led = true; |
ram54288 | 0:a7a43371b306 | 25 | } |
ram54288 | 0:a7a43371b306 | 26 | } |