TYBLE16 on os5 sample programs

Dependencies:   BME280 TextLCD nRF51_Vdd

Fork of TYBLE16_mbedlized_os5_BASE by Kenji Arai

Please refer following notebook.
/users/kenjiArai/notebook/tyble16-module-as-mbed-os-5-board-mbedlization/

Committer:
kenjiArai
Date:
Sun Apr 15 04:15:18 2018 +0000
Revision:
3:c0010c8ad17f
Parent:
1:9011c83e4178
Separated Uart_Clinent & Uart_Server due to memory overflow

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 1:9011c83e4178 1 /* mbed Microcontroller Library
kenjiArai 1:9011c83e4178 2 * Copyright (c) 2006-2015 ARM Limited
kenjiArai 1:9011c83e4178 3 *
kenjiArai 1:9011c83e4178 4 * Licensed under the Apache License, Version 2.0 (the "License");
kenjiArai 1:9011c83e4178 5 * you may not use this file except in compliance with the License.
kenjiArai 1:9011c83e4178 6 * You may obtain a copy of the License at
kenjiArai 1:9011c83e4178 7 *
kenjiArai 1:9011c83e4178 8 * http://www.apache.org/licenses/LICENSE-2.0
kenjiArai 1:9011c83e4178 9 *
kenjiArai 1:9011c83e4178 10 * Unless required by applicable law or agreed to in writing, software
kenjiArai 1:9011c83e4178 11 * distributed under the License is distributed on an "AS IS" BASIS,
kenjiArai 1:9011c83e4178 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kenjiArai 1:9011c83e4178 13 * See the License for the specific language governing permissions and
kenjiArai 1:9011c83e4178 14 * limitations under the License.
kenjiArai 1:9011c83e4178 15 */
kenjiArai 1:9011c83e4178 16
kenjiArai 1:9011c83e4178 17 #ifndef __EDDYSTONETYPES_H__
kenjiArai 1:9011c83e4178 18 #define __EDDYSTONETYPES_H__
kenjiArai 1:9011c83e4178 19
kenjiArai 1:9011c83e4178 20 #include <stdint.h>
kenjiArai 1:9011c83e4178 21 #include <stddef.h>
kenjiArai 1:9011c83e4178 22
kenjiArai 1:9011c83e4178 23 #define UUID_URL_BEACON(FIRST, SECOND) { \
kenjiArai 1:9011c83e4178 24 0xee, 0x0c, FIRST, SECOND, 0x87, 0x86, 0x40, 0xba, \
kenjiArai 1:9011c83e4178 25 0xab, 0x96, 0x99, 0xb9, 0x1a, 0xc9, 0x81, 0xd8, \
kenjiArai 1:9011c83e4178 26 }
kenjiArai 1:9011c83e4178 27
kenjiArai 1:9011c83e4178 28 const uint8_t EDDYSTONE_UUID[] = {0xAA, 0xFE};
kenjiArai 1:9011c83e4178 29
kenjiArai 1:9011c83e4178 30 const uint8_t UUID_URL_BEACON_SERVICE[] = UUID_URL_BEACON(0x20, 0x80);
kenjiArai 1:9011c83e4178 31 const uint8_t UUID_LOCK_STATE_CHAR[] = UUID_URL_BEACON(0x20, 0x81);
kenjiArai 1:9011c83e4178 32 const uint8_t UUID_LOCK_CHAR[] = UUID_URL_BEACON(0x20, 0x82);
kenjiArai 1:9011c83e4178 33 const uint8_t UUID_UNLOCK_CHAR[] = UUID_URL_BEACON(0x20, 0x83);
kenjiArai 1:9011c83e4178 34 const uint8_t UUID_URL_DATA_CHAR[] = UUID_URL_BEACON(0x20, 0x84);
kenjiArai 1:9011c83e4178 35 const uint8_t UUID_FLAGS_CHAR[] = UUID_URL_BEACON(0x20, 0x85);
kenjiArai 1:9011c83e4178 36 const uint8_t UUID_ADV_POWER_LEVELS_CHAR[] = UUID_URL_BEACON(0x20, 0x86);
kenjiArai 1:9011c83e4178 37 const uint8_t UUID_TX_POWER_MODE_CHAR[] = UUID_URL_BEACON(0x20, 0x87);
kenjiArai 1:9011c83e4178 38 const uint8_t UUID_BEACON_PERIOD_CHAR[] = UUID_URL_BEACON(0x20, 0x88);
kenjiArai 1:9011c83e4178 39 const uint8_t UUID_RESET_CHAR[] = UUID_URL_BEACON(0x20, 0x89);
kenjiArai 1:9011c83e4178 40
kenjiArai 1:9011c83e4178 41 const char DEVICE_NAME[] = "EDDYSTONE CONFIG";
kenjiArai 1:9011c83e4178 42
kenjiArai 1:9011c83e4178 43 const char DEFAULT_URL[] = "http://www.mbed.com/";
kenjiArai 1:9011c83e4178 44
kenjiArai 1:9011c83e4178 45 enum PowerModes {
kenjiArai 1:9011c83e4178 46 TX_POWER_MODE_LOWEST,
kenjiArai 1:9011c83e4178 47 TX_POWER_MODE_LOW,
kenjiArai 1:9011c83e4178 48 TX_POWER_MODE_MEDIUM,
kenjiArai 1:9011c83e4178 49 TX_POWER_MODE_HIGH,
kenjiArai 1:9011c83e4178 50 NUM_POWER_MODES
kenjiArai 1:9011c83e4178 51 };
kenjiArai 1:9011c83e4178 52
kenjiArai 1:9011c83e4178 53 /* 128 bits of lock */
kenjiArai 1:9011c83e4178 54 typedef uint8_t Lock_t[16];
kenjiArai 1:9011c83e4178 55 typedef int8_t PowerLevels_t[NUM_POWER_MODES];
kenjiArai 1:9011c83e4178 56
kenjiArai 1:9011c83e4178 57 const uint16_t URL_DATA_MAX = 18;
kenjiArai 1:9011c83e4178 58 typedef uint8_t UrlData_t[URL_DATA_MAX];
kenjiArai 1:9011c83e4178 59
kenjiArai 1:9011c83e4178 60 /* UID Frame Type subfields */
kenjiArai 1:9011c83e4178 61 const size_t UID_NAMESPACEID_SIZE = 10;
kenjiArai 1:9011c83e4178 62 typedef uint8_t UIDNamespaceID_t[UID_NAMESPACEID_SIZE];
kenjiArai 1:9011c83e4178 63 const size_t UID_INSTANCEID_SIZE = 6;
kenjiArai 1:9011c83e4178 64 typedef uint8_t UIDInstanceID_t[UID_INSTANCEID_SIZE];
kenjiArai 1:9011c83e4178 65
kenjiArai 1:9011c83e4178 66 /* Callbacks for updating BateryVoltage and Temperature */
kenjiArai 1:9011c83e4178 67 typedef uint16_t (*TlmUpdateCallback_t) (uint16_t);
kenjiArai 1:9011c83e4178 68
kenjiArai 1:9011c83e4178 69 /* Size of Eddystone UUID needed for all frames */
kenjiArai 1:9011c83e4178 70 const uint16_t EDDYSTONE_UUID_SIZE = sizeof(EDDYSTONE_UUID);
kenjiArai 1:9011c83e4178 71
kenjiArai 1:9011c83e4178 72 #endif /* __EDDYSTONETYPES_H__ */