FRDM K64F Metronome

Committer:
ram54288
Date:
Sun May 14 18:35:07 2017 +0000
Revision:
0:a2cb7295a1f7
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:a2cb7295a1f7 1 #pragma once
ram54288 0:a2cb7295a1f7 2
ram54288 0:a2cb7295a1f7 3 #include "mbed.h"
ram54288 0:a2cb7295a1f7 4 #include "mbedtls/entropy_poll.h"
ram54288 0:a2cb7295a1f7 5
ram54288 0:a2cb7295a1f7 6 namespace utils
ram54288 0:a2cb7295a1f7 7 {
ram54288 0:a2cb7295a1f7 8 unsigned entropy_seed()
ram54288 0:a2cb7295a1f7 9 {
ram54288 0:a2cb7295a1f7 10 unsigned seed;
ram54288 0:a2cb7295a1f7 11 size_t length;
ram54288 0:a2cb7295a1f7 12
ram54288 0:a2cb7295a1f7 13 unsigned char* seed_bytes = reinterpret_cast<unsigned char*>(&seed);
ram54288 0:a2cb7295a1f7 14 mbedtls_hardware_poll(NULL, seed_bytes, sizeof(unsigned), &length);
ram54288 0:a2cb7295a1f7 15
ram54288 0:a2cb7295a1f7 16 return seed;
ram54288 0:a2cb7295a1f7 17 }
ram54288 0:a2cb7295a1f7 18
ram54288 0:a2cb7295a1f7 19 // Default time of 0.2 seconds is fine for this lab
ram54288 0:a2cb7295a1f7 20 void pulse(DigitalOut& led, float t = 0.2f)
ram54288 0:a2cb7295a1f7 21 {
ram54288 0:a2cb7295a1f7 22 led = false;
ram54288 0:a2cb7295a1f7 23 wait(t);
ram54288 0:a2cb7295a1f7 24 led = true;
ram54288 0:a2cb7295a1f7 25 }
ram54288 0:a2cb7295a1f7 26 }