an old afLib which supports both SPI and UART

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers msg_types.h Source File

msg_types.h

00001 /**
00002  * Copyright 2015 Afero, Inc.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef MSG_TYPE_H__
00018 #define MSG_TYPE_H__
00019 
00020 typedef uint8_t msg_type_t;
00021 
00022 #define SYNC_REQUEST                            0x30
00023 #define SYNC_ACK                                0x31
00024 
00025 #define MSG_TYPE_UNKNOWN    0
00026 #define MSG_TYPE_ERROR      1
00027 
00028 // Messaging channel messages
00029 #define MESSAGE_CHANNEL_BASE                    10
00030 #define MSG_TYPE_SET                            (MESSAGE_CHANNEL_BASE + 1)
00031 #define MSG_TYPE_GET                            (MESSAGE_CHANNEL_BASE + 2)
00032 #define MSG_TYPE_UPDATE                         (MESSAGE_CHANNEL_BASE + 3)
00033 
00034 #define NEGOTIATOR_CHANNEL_BASE                 20
00035 #define MSG_TYPE_AUTHENTICATOR_SESSION_INFO     (NEGOTIATOR_CHANNEL_BASE + 1)
00036 #define MSG_TYPE_PERIPHERAL_SESSION_INFO        (NEGOTIATOR_CHANNEL_BASE + 2)
00037 #define MSG_TYPE_SIGNED_SESSION_PUBLIC_KEYS     (NEGOTIATOR_CHANNEL_BASE + 3)
00038 #define MSG_TYPE_MESSAGING_AVAILABLE            (NEGOTIATOR_CHANNEL_BASE + 4)
00039 #define MSG_TYPE_PAIRING_COMPLETE               (NEGOTIATOR_CHANNEL_BASE + 5)
00040 
00041 // Success states
00042 #define UPDATE_STATE_UPDATED                0
00043 
00044 // Failure states
00045 #define UPDATE_STATE_INTERRUPTED            1
00046 #define UPDATE_STATE_UNKNOWN_UUID           2
00047 #define UPDATE_STATE_LENGTH_EXCEEDED        3
00048 #define UPDATE_STATE_CONFLICT               4
00049 #define UPDATE_STATE_FAILED                 5
00050 
00051 #define UPDATE_REASON_UNKNOWN                   0x00
00052 #define UPDATE_REASON_LOCAL_OR_MCU_UPDATE       0x01 // local or unsolicited UPDATE from MCU
00053 #define UPDATE_REASON_SERVICE_SET               0x02 // response to Service SET
00054 #define UPDATE_REASON_MCU_SET                   0x03 // response to MCU SET
00055 #define UPDATE_REASON_RELINK                    0x04
00056 #define UPDATE_REASON_BIND_FOLLOW               0x05 // a bound attribute was changed
00057 #define UPDATE_REASON_FAKE_UPDATE               0x06 // fake update launched
00058 #define UPDATE_REASON_NOTIFY_MCU_WE_REBOOTED    0x07 // notify MCU we rebooted. Never goes to Service
00059 #define UPDATE_REASON_LOCAL_SET                 0x08 // response to Local SET
00060 #define UPDATE_REASON_INTERNAL_LAST_VALID       UPDATE_REASON_LOCAL_SET // always last valid #define
00061 #define UPDATE_REASON_INTERNAL_SET_FAIL         0xfe // Set failed
00062 #define UPDATE_REASON_INTERNAL_NO_CHANGE        0xff // do not change current value (not to be sent to Service)
00063 
00064 #endif  // MSG_TYPE_H__
00065