Hybrid sEMG + IMU activated controller for Galileo Bionic Hand Prosthesis
Dependencies: FXAS21000 FXOS8700Q kalman mbed-dsp mbed-rtos mbed
rtwtypes.h@1:84347af5a1f2, 2015-11-01 (annotated)
- 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?
User | Revision | Line number | New 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) */ |