A metronome using the FRDM K64F board

Committer:
ram54288
Date:
Sun May 14 18:40:18 2017 +0000
Revision:
0:a7a43371b306
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew 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 }