TYBLE16 on os5 sample programs
Dependencies: BME280 TextLCD nRF51_Vdd
Fork of TYBLE16_mbedlized_os5_BASE by
Please refer following notebook.
/users/kenjiArai/notebook/tyble16-module-as-mbed-os-5-board-mbedlization/
2_EddyStoneBeacon/Eddystone/EddystoneTypes.h@1:9011c83e4178, 2018-04-14 (annotated)
- Committer:
- kenjiArai
- Date:
- Sat Apr 14 04:56:34 2018 +0000
- Revision:
- 1:9011c83e4178
added samples
Who changed what in which revision?
User | Revision | Line number | New 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__ */ |