TI's CC3100 websocket camera demo with Arducam mini ov5642 and freertos. Should work with other M3's. Work in progress test demo.

Dependencies:   mbed

Committer:
dflet
Date:
Fri Sep 11 15:38:33 2015 +0000
Revision:
1:e448e81c416f
Parent:
0:400d8e75a8d0
Removed some debud.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dflet 0:400d8e75a8d0 1 //*****************************************************************************
dflet 0:400d8e75a8d0 2 // Copyright (C) 2014 Texas Instruments Incorporated
dflet 0:400d8e75a8d0 3 //
dflet 0:400d8e75a8d0 4 // All rights reserved. Property of Texas Instruments Incorporated.
dflet 0:400d8e75a8d0 5 // Restricted rights to use, duplicate or disclose this code are
dflet 0:400d8e75a8d0 6 // granted through contract.
dflet 0:400d8e75a8d0 7 // The program may not be used without the written permission of
dflet 0:400d8e75a8d0 8 // Texas Instruments Incorporated or against the terms and conditions
dflet 0:400d8e75a8d0 9 // stipulated in the agreement under which this program has been supplied,
dflet 0:400d8e75a8d0 10 // and under no circumstances can it be used with non-TI connectivity device.
dflet 0:400d8e75a8d0 11 //
dflet 0:400d8e75a8d0 12 //*****************************************************************************
dflet 0:400d8e75a8d0 13
dflet 0:400d8e75a8d0 14
dflet 0:400d8e75a8d0 15 /**
dflet 0:400d8e75a8d0 16 * @addtogroup sha1
dflet 0:400d8e75a8d0 17 *
dflet 0:400d8e75a8d0 18 * @{
dflet 0:400d8e75a8d0 19 */
dflet 0:400d8e75a8d0 20 #include "mbed.h"
dflet 0:400d8e75a8d0 21 #include <stdio.h>
dflet 0:400d8e75a8d0 22 #include <stdlib.h>
dflet 0:400d8e75a8d0 23 #include <stdint.h>
dflet 0:400d8e75a8d0 24 #include <stdbool.h>
dflet 0:400d8e75a8d0 25 #include <string.h>
dflet 0:400d8e75a8d0 26
dflet 0:400d8e75a8d0 27 #include "sha1_gen.h"
dflet 0:400d8e75a8d0 28 //#include "stm32f4xx_hal_hash.h"
dflet 0:400d8e75a8d0 29
dflet 0:400d8e75a8d0 30 #if !defined(POLARSSL_CONFIG_FILE)
dflet 0:400d8e75a8d0 31 #include "polarssl/config.h"
dflet 0:400d8e75a8d0 32 #else
dflet 0:400d8e75a8d0 33 #include POLARSSL_CONFIG_FILE
dflet 0:400d8e75a8d0 34 #endif
dflet 0:400d8e75a8d0 35
dflet 0:400d8e75a8d0 36 #if defined(POLARSSL_PLATFORM_C)
dflet 0:400d8e75a8d0 37 #include "polarssl/platform.h"
dflet 0:400d8e75a8d0 38 #else
dflet 0:400d8e75a8d0 39 #include <stdio.h>
dflet 0:400d8e75a8d0 40 #define polarssl_printf printf
dflet 0:400d8e75a8d0 41 #endif
dflet 0:400d8e75a8d0 42
dflet 0:400d8e75a8d0 43 #if defined(POLARSSL_SHA1_C) && defined(POLARSSL_FS_IO)
dflet 0:400d8e75a8d0 44 #include "polarssl/sha1.h"
dflet 0:400d8e75a8d0 45 #endif
dflet 0:400d8e75a8d0 46
dflet 0:400d8e75a8d0 47 //
dflet 0:400d8e75a8d0 48 // Flags to check that interrupts were successfully generated.
dflet 0:400d8e75a8d0 49 //
dflet 0:400d8e75a8d0 50 volatile bool g_bContextReadyFlag;
dflet 0:400d8e75a8d0 51 volatile bool g_bParthashReadyFlag;
dflet 0:400d8e75a8d0 52 volatile bool g_bInputReadyFlag;
dflet 0:400d8e75a8d0 53 volatile bool g_bOutputReadyFlag;
dflet 0:400d8e75a8d0 54
dflet 0:400d8e75a8d0 55
dflet 0:400d8e75a8d0 56 void SHAMD5IntHandler(void);
dflet 0:400d8e75a8d0 57 void GenerateHash(unsigned int uiConfig,unsigned char *puiKey1,unsigned char *puiData,
dflet 0:400d8e75a8d0 58 unsigned char *puiResult,unsigned int uiDataLength);
dflet 0:400d8e75a8d0 59
dflet 0:400d8e75a8d0 60 //*****************************************************************************
dflet 0:400d8e75a8d0 61 //
dflet 0:400d8e75a8d0 62 //! SHAMD5IntHandler - Interrupt Handler which handles different interrupts from
dflet 0:400d8e75a8d0 63 //! different sources
dflet 0:400d8e75a8d0 64 //!
dflet 0:400d8e75a8d0 65 //! \param None
dflet 0:400d8e75a8d0 66 //!
dflet 0:400d8e75a8d0 67 //! \return None
dflet 0:400d8e75a8d0 68 //
dflet 0:400d8e75a8d0 69 //*****************************************************************************
dflet 0:400d8e75a8d0 70 void
dflet 0:400d8e75a8d0 71 SHAMD5IntHandler(void)
dflet 0:400d8e75a8d0 72 {
dflet 0:400d8e75a8d0 73 uint32_t ui32IntStatus;
dflet 0:400d8e75a8d0 74
dflet 0:400d8e75a8d0 75 }
dflet 0:400d8e75a8d0 76
dflet 0:400d8e75a8d0 77 //*****************************************************************************
dflet 0:400d8e75a8d0 78 //
dflet 0:400d8e75a8d0 79 //! GenerateHash - Generates the Hash value of the Plain Text
dflet 0:400d8e75a8d0 80 //!
dflet 0:400d8e75a8d0 81 //! \param uiConfig - Configuration Value
dflet 0:400d8e75a8d0 82 //! \param puiKey1 - Key Used
dflet 0:400d8e75a8d0 83 //! \param puiData - Plain Text used
dflet 0:400d8e75a8d0 84 //! \param puiResult - Hash Value Generated
dflet 0:400d8e75a8d0 85 //! \param uiDataLength - DataLength Used
dflet 0:400d8e75a8d0 86 //!
dflet 0:400d8e75a8d0 87 //! \return None
dflet 0:400d8e75a8d0 88 //
dflet 0:400d8e75a8d0 89 //*****************************************************************************
dflet 0:400d8e75a8d0 90
dflet 0:400d8e75a8d0 91 void
dflet 0:400d8e75a8d0 92 GenerateHash(unsigned int uiConfig,unsigned char *puiKey1,unsigned char *puiData,
dflet 0:400d8e75a8d0 93 unsigned char *puiResult,unsigned int uiDataLength)
dflet 0:400d8e75a8d0 94 {
dflet 0:400d8e75a8d0 95 // SHA1ctx_stt SHA1ctx_st;
dflet 0:400d8e75a8d0 96 // SHA1_Init(&SHA1ctx_st);
dflet 0:400d8e75a8d0 97
dflet 0:400d8e75a8d0 98 // int32_t HHH_Init (HHHctx_stt *P_pHHHctx);
dflet 0:400d8e75a8d0 99 //
dflet 0:400d8e75a8d0 100 // Step1: Reset the Module
dflet 0:400d8e75a8d0 101 // Step2: Enable Interrupts
dflet 0:400d8e75a8d0 102 // Step3: Wait for Context Ready Inteerupt
dflet 0:400d8e75a8d0 103 // Step4: Set the Configuration Parameters (Hash Algorithm)
dflet 0:400d8e75a8d0 104 // Step5: Set Key depends on Algorithm
dflet 0:400d8e75a8d0 105 // Step7: Start Hash Generation
dflet 0:400d8e75a8d0 106 //
dflet 0:400d8e75a8d0 107
dflet 0:400d8e75a8d0 108 //
dflet 0:400d8e75a8d0 109 // Clear the flags
dflet 0:400d8e75a8d0 110 //
dflet 0:400d8e75a8d0 111 g_bContextReadyFlag = false;
dflet 0:400d8e75a8d0 112 g_bInputReadyFlag = false;
dflet 0:400d8e75a8d0 113
dflet 0:400d8e75a8d0 114 //
dflet 0:400d8e75a8d0 115 // Perform the hashing operation
dflet 0:400d8e75a8d0 116 //
dflet 0:400d8e75a8d0 117 sha1( (unsigned char *) puiData, strlen((const char *)puiData), puiResult );
dflet 0:400d8e75a8d0 118 // HAL_HASH_SHA1_Start(puiData, strlen((const char *)puiData), puiResult );
dflet 0:400d8e75a8d0 119
dflet 0:400d8e75a8d0 120 // for(int i = 0; i < 16; i++ ){
dflet 0:400d8e75a8d0 121 // polarssl_printf( "%02x", puiResult[i] );
dflet 0:400d8e75a8d0 122 // }
dflet 0:400d8e75a8d0 123 // polarssl_printf( "\r\n" );
dflet 0:400d8e75a8d0 124 // SHA1_Finish();
dflet 0:400d8e75a8d0 125
dflet 0:400d8e75a8d0 126 }
dflet 0:400d8e75a8d0 127
dflet 0:400d8e75a8d0 128 int SHA1(unsigned char *puiInData,unsigned char *puiOutData)
dflet 0:400d8e75a8d0 129 {
dflet 0:400d8e75a8d0 130
dflet 0:400d8e75a8d0 131 GenerateHash(SHAMD5_ALGO_SHA1,NULL,puiInData,puiOutData,strlen((const char *)puiInData));
dflet 0:400d8e75a8d0 132
dflet 0:400d8e75a8d0 133 return 1;
dflet 0:400d8e75a8d0 134
dflet 0:400d8e75a8d0 135 }
dflet 0:400d8e75a8d0 136
dflet 0:400d8e75a8d0 137 /// @}
dflet 0:400d8e75a8d0 138