Hybrid sEMG + IMU activated controller for Galileo Bionic Hand Prosthesis

Dependencies:   FXAS21000 FXOS8700Q kalman mbed-dsp mbed-rtos mbed

Committer:
julioefajardo
Date:
Sun Nov 01 18:38:43 2015 +0000
Revision:
1:84347af5a1f2
Version 1.5 - RTOS; Threads; Mutex; EMG sampler; IMU sampler; Kalman filter; Serial Communication; Feature Extraction; Neural Network Classifier

Who changed what in which revision?

UserRevisionLine numberNew contents of line
julioefajardo 1:84347af5a1f2 1 /*
julioefajardo 1:84347af5a1f2 2 * rtwtypes.h
julioefajardo 1:84347af5a1f2 3 *
julioefajardo 1:84347af5a1f2 4 * Code generation for function 'IMU_Classifier'
julioefajardo 1:84347af5a1f2 5 *
julioefajardo 1:84347af5a1f2 6 */
julioefajardo 1:84347af5a1f2 7
julioefajardo 1:84347af5a1f2 8 #ifndef __RTWTYPES_H__
julioefajardo 1:84347af5a1f2 9 #define __RTWTYPES_H__
julioefajardo 1:84347af5a1f2 10 #ifndef __TMWTYPES__
julioefajardo 1:84347af5a1f2 11 #define __TMWTYPES__
julioefajardo 1:84347af5a1f2 12
julioefajardo 1:84347af5a1f2 13 /*=======================================================================*
julioefajardo 1:84347af5a1f2 14 * Target hardware information
julioefajardo 1:84347af5a1f2 15 * Device type: Generic->MATLAB Host Computer
julioefajardo 1:84347af5a1f2 16 * Number of bits: char: 8 short: 16 int: 32
julioefajardo 1:84347af5a1f2 17 * long: 32 long long: 64
julioefajardo 1:84347af5a1f2 18 * native word size: 32
julioefajardo 1:84347af5a1f2 19 * Byte ordering: LittleEndian
julioefajardo 1:84347af5a1f2 20 * Signed integer division rounds to: Zero
julioefajardo 1:84347af5a1f2 21 * Shift right on a signed integer as arithmetic shift: on
julioefajardo 1:84347af5a1f2 22 *=======================================================================*/
julioefajardo 1:84347af5a1f2 23
julioefajardo 1:84347af5a1f2 24 /*=======================================================================*
julioefajardo 1:84347af5a1f2 25 * Fixed width word size data types: *
julioefajardo 1:84347af5a1f2 26 * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *
julioefajardo 1:84347af5a1f2 27 * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *
julioefajardo 1:84347af5a1f2 28 * real32_T, real64_T - 32 and 64 bit floating point numbers *
julioefajardo 1:84347af5a1f2 29 *=======================================================================*/
julioefajardo 1:84347af5a1f2 30
julioefajardo 1:84347af5a1f2 31 typedef signed char int8_T;
julioefajardo 1:84347af5a1f2 32 typedef unsigned char uint8_T;
julioefajardo 1:84347af5a1f2 33 typedef short int16_T;
julioefajardo 1:84347af5a1f2 34 typedef unsigned short uint16_T;
julioefajardo 1:84347af5a1f2 35 typedef int int32_T;
julioefajardo 1:84347af5a1f2 36 typedef unsigned int uint32_T;
julioefajardo 1:84347af5a1f2 37 typedef long long int64_T;
julioefajardo 1:84347af5a1f2 38 typedef unsigned long long uint64_T;
julioefajardo 1:84347af5a1f2 39 typedef float real32_T;
julioefajardo 1:84347af5a1f2 40 typedef double real64_T;
julioefajardo 1:84347af5a1f2 41
julioefajardo 1:84347af5a1f2 42 /*===========================================================================*
julioefajardo 1:84347af5a1f2 43 * Generic type definitions: real_T, time_T, boolean_T, int_T, uint_T, *
julioefajardo 1:84347af5a1f2 44 * ulong_T, ulonglong_T, char_T and byte_T. *
julioefajardo 1:84347af5a1f2 45 *===========================================================================*/
julioefajardo 1:84347af5a1f2 46
julioefajardo 1:84347af5a1f2 47 typedef double real_T;
julioefajardo 1:84347af5a1f2 48 typedef double time_T;
julioefajardo 1:84347af5a1f2 49 typedef unsigned char boolean_T;
julioefajardo 1:84347af5a1f2 50 typedef int int_T;
julioefajardo 1:84347af5a1f2 51 typedef unsigned int uint_T;
julioefajardo 1:84347af5a1f2 52 typedef unsigned long ulong_T;
julioefajardo 1:84347af5a1f2 53 typedef unsigned long long ulonglong_T;
julioefajardo 1:84347af5a1f2 54 typedef char char_T;
julioefajardo 1:84347af5a1f2 55 typedef char_T byte_T;
julioefajardo 1:84347af5a1f2 56
julioefajardo 1:84347af5a1f2 57 /*===========================================================================*
julioefajardo 1:84347af5a1f2 58 * Complex number type definitions *
julioefajardo 1:84347af5a1f2 59 *===========================================================================*/
julioefajardo 1:84347af5a1f2 60 #define CREAL_T
julioefajardo 1:84347af5a1f2 61 typedef struct {
julioefajardo 1:84347af5a1f2 62 real32_T re;
julioefajardo 1:84347af5a1f2 63 real32_T im;
julioefajardo 1:84347af5a1f2 64 } creal32_T;
julioefajardo 1:84347af5a1f2 65
julioefajardo 1:84347af5a1f2 66 typedef struct {
julioefajardo 1:84347af5a1f2 67 real64_T re;
julioefajardo 1:84347af5a1f2 68 real64_T im;
julioefajardo 1:84347af5a1f2 69 } creal64_T;
julioefajardo 1:84347af5a1f2 70
julioefajardo 1:84347af5a1f2 71 typedef struct {
julioefajardo 1:84347af5a1f2 72 real_T re;
julioefajardo 1:84347af5a1f2 73 real_T im;
julioefajardo 1:84347af5a1f2 74 } creal_T;
julioefajardo 1:84347af5a1f2 75
julioefajardo 1:84347af5a1f2 76 typedef struct {
julioefajardo 1:84347af5a1f2 77 int8_T re;
julioefajardo 1:84347af5a1f2 78 int8_T im;
julioefajardo 1:84347af5a1f2 79 } cint8_T;
julioefajardo 1:84347af5a1f2 80
julioefajardo 1:84347af5a1f2 81 typedef struct {
julioefajardo 1:84347af5a1f2 82 uint8_T re;
julioefajardo 1:84347af5a1f2 83 uint8_T im;
julioefajardo 1:84347af5a1f2 84 } cuint8_T;
julioefajardo 1:84347af5a1f2 85
julioefajardo 1:84347af5a1f2 86 typedef struct {
julioefajardo 1:84347af5a1f2 87 int16_T re;
julioefajardo 1:84347af5a1f2 88 int16_T im;
julioefajardo 1:84347af5a1f2 89 } cint16_T;
julioefajardo 1:84347af5a1f2 90
julioefajardo 1:84347af5a1f2 91 typedef struct {
julioefajardo 1:84347af5a1f2 92 uint16_T re;
julioefajardo 1:84347af5a1f2 93 uint16_T im;
julioefajardo 1:84347af5a1f2 94 } cuint16_T;
julioefajardo 1:84347af5a1f2 95
julioefajardo 1:84347af5a1f2 96 typedef struct {
julioefajardo 1:84347af5a1f2 97 int32_T re;
julioefajardo 1:84347af5a1f2 98 int32_T im;
julioefajardo 1:84347af5a1f2 99 } cint32_T;
julioefajardo 1:84347af5a1f2 100
julioefajardo 1:84347af5a1f2 101 typedef struct {
julioefajardo 1:84347af5a1f2 102 uint32_T re;
julioefajardo 1:84347af5a1f2 103 uint32_T im;
julioefajardo 1:84347af5a1f2 104 } cuint32_T;
julioefajardo 1:84347af5a1f2 105
julioefajardo 1:84347af5a1f2 106 typedef struct {
julioefajardo 1:84347af5a1f2 107 int64_T re;
julioefajardo 1:84347af5a1f2 108 int64_T im;
julioefajardo 1:84347af5a1f2 109 } cint64_T;
julioefajardo 1:84347af5a1f2 110
julioefajardo 1:84347af5a1f2 111 typedef struct {
julioefajardo 1:84347af5a1f2 112 uint64_T re;
julioefajardo 1:84347af5a1f2 113 uint64_T im;
julioefajardo 1:84347af5a1f2 114 } cuint64_T;
julioefajardo 1:84347af5a1f2 115
julioefajardo 1:84347af5a1f2 116
julioefajardo 1:84347af5a1f2 117 /*=======================================================================*
julioefajardo 1:84347af5a1f2 118 * Min and Max: *
julioefajardo 1:84347af5a1f2 119 * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *
julioefajardo 1:84347af5a1f2 120 * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *
julioefajardo 1:84347af5a1f2 121 *=======================================================================*/
julioefajardo 1:84347af5a1f2 122
julioefajardo 1:84347af5a1f2 123 #define MAX_int8_T ((int8_T)(127))
julioefajardo 1:84347af5a1f2 124 #define MIN_int8_T ((int8_T)(-128))
julioefajardo 1:84347af5a1f2 125 #define MAX_uint8_T ((uint8_T)(255))
julioefajardo 1:84347af5a1f2 126 #define MIN_uint8_T ((uint8_T)(0))
julioefajardo 1:84347af5a1f2 127 #define MAX_int16_T ((int16_T)(32767))
julioefajardo 1:84347af5a1f2 128 #define MIN_int16_T ((int16_T)(-32768))
julioefajardo 1:84347af5a1f2 129 #define MAX_uint16_T ((uint16_T)(65535))
julioefajardo 1:84347af5a1f2 130 #define MIN_uint16_T ((uint16_T)(0))
julioefajardo 1:84347af5a1f2 131 #define MAX_int32_T ((int32_T)(2147483647))
julioefajardo 1:84347af5a1f2 132 #define MIN_int32_T ((int32_T)(-2147483647-1))
julioefajardo 1:84347af5a1f2 133 #define MAX_uint32_T ((uint32_T)(0xFFFFFFFFU))
julioefajardo 1:84347af5a1f2 134 #define MIN_uint32_T ((uint32_T)(0))
julioefajardo 1:84347af5a1f2 135 #define MAX_int64_T ((int64_T)(9223372036854775807LL))
julioefajardo 1:84347af5a1f2 136 #define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL))
julioefajardo 1:84347af5a1f2 137 #define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL))
julioefajardo 1:84347af5a1f2 138 #define MIN_uint64_T ((uint64_T)(0ULL))
julioefajardo 1:84347af5a1f2 139
julioefajardo 1:84347af5a1f2 140 /* Logical type definitions */
julioefajardo 1:84347af5a1f2 141 #if !defined(__cplusplus) && !defined(__true_false_are_keywords)
julioefajardo 1:84347af5a1f2 142 # ifndef false
julioefajardo 1:84347af5a1f2 143 # define false (0U)
julioefajardo 1:84347af5a1f2 144 # endif
julioefajardo 1:84347af5a1f2 145 # ifndef true
julioefajardo 1:84347af5a1f2 146 # define true (1U)
julioefajardo 1:84347af5a1f2 147 # endif
julioefajardo 1:84347af5a1f2 148 #endif
julioefajardo 1:84347af5a1f2 149
julioefajardo 1:84347af5a1f2 150 /*
julioefajardo 1:84347af5a1f2 151 * Maximum length of a MATLAB identifier (function/variable)
julioefajardo 1:84347af5a1f2 152 * including the null-termination character. Referenced by
julioefajardo 1:84347af5a1f2 153 * rt_logging.c and rt_matrx.c.
julioefajardo 1:84347af5a1f2 154 */
julioefajardo 1:84347af5a1f2 155 #define TMW_NAME_LENGTH_MAX 64
julioefajardo 1:84347af5a1f2 156
julioefajardo 1:84347af5a1f2 157 #endif
julioefajardo 1:84347af5a1f2 158 #endif
julioefajardo 1:84347af5a1f2 159 /* End of code generation (rtwtypes.h) */