This repository has been archived by the owner on Aug 4, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'development' * development: (128 commits) Release/v1.2.5 (#110) [ stm32 port ] wolfSSL Eclipse project: using relative paths to wolfSSL lib to eliminate need of a Tutorial reader to edit the wolfSSL project's properties (#109) Improve compilation setup of WolfSSL and EthernetNucleo (#108) Xively C Client CC3220 Uniflash Image version 1 Feature/port eth nucleo f429 zi (#98) Removed unused struct and function pointer definitions. Added a debunker check on button press. Always publish button state regardless of burst mode. Ran Code formatter. Added Xively Copyright. Added burst mode. Removed topic table. Use NIST SNTP servers in stm32f4 nucleo implementation Use const variables where possible, fix harmless sntp bug Conform comments and if statements to libxively standards Updates to the main loop to publish the Gyroscope, Accelerometer, and Button state 4x a second. Remove unnecessary comment from TLS cert validation code Final version of TLS cert validation on SPWF01Sx modules Working TLS certificate validation - WIP Implement SNTP servers iteration so we can handle outages [feat] adjustments of the delays and timeouts Implement error handling for ALL sensor board input reading for stm32f4 demo Handle snprintf retval properly, const MQTT msg in button EXTI handler, rename floatToInt Add a TODO to handle a potentially fatal state in stm32f4 nucleo+wifi+sensors ...
- Loading branch information
Showing
119 changed files
with
23,056 additions
and
208 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Copyright (c) 2003-2016, LogMeIn, Inc. All rights reserved. | ||
# | ||
# This is part of the Xively C Client library, | ||
# it is licensed under the BSD 3-Clause license. | ||
XI_EXAMPLE_NAME := firmware_update_example | ||
|
||
XI_EXAMPLE_SRCS += $(wildcard $(CURDIR)/src/cbor/*.c) | ||
XI_EXAMPLE_SRCS += $(wildcard $(CURDIR)/src/sha256/*.c) | ||
XI_EXAMPLE_SRCS += xi_sft_client.c | ||
|
||
XI_CLIENT_INC_PATH += $(CURDIR)/src/cbor | ||
XI_CLIENT_INC_PATH += $(CURDIR)/src/sha256 | ||
|
||
include ../common/rules.mk | ||
include ../common/targets.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2015 Carsten Bormann <cabo@tzi.org> | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
These files are slightly modified versions from: | ||
https://github.com/cabo/cn-cbor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
#ifndef CBOR_PROTOCOL_H__ | ||
#define CBOR_PROTOCOL_H__ | ||
|
||
/* The 8 major types */ | ||
#define MT_UNSIGNED 0 | ||
#define MT_NEGATIVE 1 | ||
#define MT_BYTES 2 | ||
#define MT_TEXT 3 | ||
#define MT_ARRAY 4 | ||
#define MT_MAP 5 | ||
#define MT_TAG 6 | ||
#define MT_PRIM 7 | ||
|
||
/* The initial bytes resulting from those */ | ||
#define IB_UNSIGNED (MT_UNSIGNED << 5) | ||
#define IB_NEGATIVE (MT_NEGATIVE << 5) | ||
#define IB_BYTES (MT_BYTES << 5) | ||
#define IB_TEXT (MT_TEXT << 5) | ||
#define IB_ARRAY (MT_ARRAY << 5) | ||
#define IB_MAP (MT_MAP << 5) | ||
#define IB_TAG (MT_TAG << 5) | ||
#define IB_PRIM (MT_PRIM << 5) | ||
|
||
#define IB_NEGFLAG (IB_NEGATIVE - IB_UNSIGNED) | ||
#define IB_NEGFLAG_AS_BIT(ib) ((ib) >> 5) | ||
#define IB_TEXTFLAG (IB_TEXT - IB_BYTES) | ||
|
||
#define IB_AI(ib) ((ib) & 0x1F) | ||
#define IB_MT(ib) ((ib) >> 5) | ||
|
||
/* Tag numbers handled by this implementation */ | ||
#define TAG_TIME_EPOCH 1 | ||
#define TAG_BIGNUM 2 | ||
#define TAG_BIGNUM_NEG 3 | ||
#define TAG_URI 32 | ||
#define TAG_RE 35 | ||
|
||
/* Initial bytes of those tag numbers */ | ||
#define IB_TIME_EPOCH (IB_TAG | TAG_TIME_EPOCH) | ||
#define IB_BIGNUM (IB_TAG | TAG_BIGNUM) | ||
#define IB_BIGNUM_NEG (IB_TAG | TAG_BIGNUM_NEG) | ||
/* TAG_URI and TAG_RE are non-immediate tags */ | ||
|
||
/* Simple values handled by this implementation */ | ||
#define VAL_FALSE 20 | ||
#define VAL_TRUE 21 | ||
#define VAL_NIL 22 | ||
#define VAL_UNDEF 23 | ||
|
||
/* Initial bytes of those simple values */ | ||
#define IB_FALSE (IB_PRIM | VAL_FALSE) | ||
#define IB_TRUE (IB_PRIM | VAL_TRUE) | ||
#define IB_NIL (IB_PRIM | VAL_NIL) | ||
#define IB_UNDEF (IB_PRIM | VAL_UNDEF) | ||
|
||
/* AI values with more data in head */ | ||
#define AI_1 24 | ||
#define AI_2 25 | ||
#define AI_4 26 | ||
#define AI_8 27 | ||
#define AI_INDEF 31 | ||
#define IB_BREAK (IB_PRIM | AI_INDEF) | ||
/* For */ | ||
#define IB_UNUSED (IB_TAG | AI_INDEF) | ||
|
||
/* Floating point initial bytes */ | ||
#define IB_FLOAT2 (IB_PRIM | AI_2) | ||
#define IB_FLOAT4 (IB_PRIM | AI_4) | ||
#define IB_FLOAT8 (IB_PRIM | AI_8) | ||
|
||
// These definitions are here because they aren't required for the public | ||
// interface, and they were quite confusing in cn-cbor.h | ||
|
||
#ifdef USE_CBOR_CONTEXT | ||
/** | ||
* Allocate enough space for 1 `cn_cbor` structure. | ||
* | ||
* @param[in] ctx The allocation context, or NULL for calloc. | ||
* @return A pointer to a `cn_cbor` or NULL on failure | ||
*/ | ||
#define CN_CALLOC(ctx) ((ctx) && (ctx)->calloc_func) ? \ | ||
(ctx)->calloc_func(1, sizeof(cn_cbor), (ctx)->context) : \ | ||
calloc(1, sizeof(cn_cbor)); | ||
|
||
/** | ||
* Free a | ||
* @param free_func [description] | ||
* @return [description] | ||
*/ | ||
#define CN_FREE(ptr, ctx) ((ctx) && (ctx)->free_func) ? \ | ||
(ctx)->free_func((ptr), (ctx)->context) : \ | ||
free((ptr)); | ||
|
||
#define CBOR_CONTEXT_PARAM , context | ||
#define CN_CALLOC_CONTEXT() CN_CALLOC(context) | ||
#define CN_CBOR_FREE_CONTEXT(p) CN_FREE(p, context) | ||
|
||
#else | ||
|
||
#define CBOR_CONTEXT_PARAM | ||
#define CN_CALLOC_CONTEXT() CN_CALLOC | ||
#define CN_CBOR_FREE_CONTEXT(p) CN_FREE(p) | ||
|
||
#ifndef CN_CALLOC | ||
#define CN_CALLOC calloc(1, sizeof(cn_cbor)) | ||
#endif | ||
|
||
#ifndef CN_FREE | ||
#define CN_FREE free | ||
#endif | ||
|
||
#endif // USE_CBOR_CONTEXT | ||
|
||
#ifndef UNUSED_PARAM | ||
#define UNUSED_PARAM(p) ((void)&(p)) | ||
#endif | ||
|
||
#endif // CBOR_PROTOCOL_H__ |
Oops, something went wrong.