mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
181:57724642e740
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 181:57724642e740 1 /* mbed Microcontroller Library
AnnaBridge 181:57724642e740 2 * Copyright (c) 2006-2017 ARM Limited
AnnaBridge 181:57724642e740 3 *
AnnaBridge 181:57724642e740 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 181:57724642e740 5 * you may not use this file except in compliance with the License.
AnnaBridge 181:57724642e740 6 * You may obtain a copy of the License at
AnnaBridge 181:57724642e740 7 *
AnnaBridge 181:57724642e740 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 181:57724642e740 9 *
AnnaBridge 181:57724642e740 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 181:57724642e740 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 181:57724642e740 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 181:57724642e740 13 * See the License for the specific language governing permissions and
AnnaBridge 181:57724642e740 14 * limitations under the License.
AnnaBridge 181:57724642e740 15 */
AnnaBridge 181:57724642e740 16
AnnaBridge 189:f392fc9709a3 17 #if DEVICE_TRNG
AnnaBridge 181:57724642e740 18 #include "trng_api.h"
AnnaBridge 181:57724642e740 19
AnnaBridge 181:57724642e740 20 #if defined(TARGET_GR_LYCHEE)
AnnaBridge 181:57724642e740 21
AnnaBridge 181:57724642e740 22 extern void trng_init_esp32(void);
AnnaBridge 181:57724642e740 23 extern void trng_free_esp32(void);
AnnaBridge 181:57724642e740 24 extern int trng_get_bytes_esp32(uint8_t *output, size_t length, size_t *output_length);
AnnaBridge 181:57724642e740 25
AnnaBridge 181:57724642e740 26 void trng_init(trng_t *obj)
AnnaBridge 181:57724642e740 27 {
AnnaBridge 181:57724642e740 28 trng_init_esp32();
AnnaBridge 181:57724642e740 29 }
AnnaBridge 181:57724642e740 30
AnnaBridge 181:57724642e740 31 void trng_free(trng_t *obj)
AnnaBridge 181:57724642e740 32 {
AnnaBridge 181:57724642e740 33 trng_free_esp32();
AnnaBridge 181:57724642e740 34 }
AnnaBridge 181:57724642e740 35
AnnaBridge 181:57724642e740 36 int trng_get_bytes(trng_t *obj, uint8_t *output, size_t length, size_t *output_length)
AnnaBridge 181:57724642e740 37 {
AnnaBridge 181:57724642e740 38 return trng_get_bytes_esp32(output, length, output_length);
AnnaBridge 181:57724642e740 39 }
AnnaBridge 181:57724642e740 40 #else
AnnaBridge 181:57724642e740 41 #error "There is no initialization processing."
AnnaBridge 181:57724642e740 42 #endif
AnnaBridge 181:57724642e740 43 #endif