Hepta UplinkData Q

Dependencies:   mbed PowerControl SDFileSystem

Fork of Hepta_UplinkData_Q by 智也 大野

Committer:
MEXT1
Date:
Fri Dec 23 04:50:09 2016 +0000
Revision:
4:2a2a17a603cc
Parent:
0:edad9f0f386a
UplinkData Q

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tomoya123 0:edad9f0f386a 1 #include "HeptaGyro.h"
tomoya123 0:edad9f0f386a 2 #include "mbed.h"
tomoya123 0:edad9f0f386a 3
tomoya123 0:edad9f0f386a 4 HeptaGyro::HeptaGyro(PinName sda, PinName scl, int aaddr ) : gyro(sda,scl),addr(aaddr)
tomoya123 0:edad9f0f386a 5 {
tomoya123 0:edad9f0f386a 6 _cmd[0] = 0x20;
tomoya123 0:edad9f0f386a 7 _cmd[1] = 0x0F;
tomoya123 0:edad9f0f386a 8 gyro.frequency(100000);
tomoya123 0:edad9f0f386a 9 gyro.write(addr, _cmd, 2);
tomoya123 0:edad9f0f386a 10 gyro.start();
tomoya123 0:edad9f0f386a 11 gyro.write(addr);
tomoya123 0:edad9f0f386a 12 gyro.stop();
tomoya123 0:edad9f0f386a 13 }
tomoya123 0:edad9f0f386a 14
tomoya123 0:edad9f0f386a 15 void HeptaGyro::setup()
tomoya123 0:edad9f0f386a 16 {
tomoya123 0:edad9f0f386a 17 _cmd[0] = 0x20;
tomoya123 0:edad9f0f386a 18 _cmd[1] = 0x0F;
tomoya123 0:edad9f0f386a 19 gyro.frequency(100000);
tomoya123 0:edad9f0f386a 20 gyro.write(addr, _cmd, 2);
tomoya123 0:edad9f0f386a 21 gyro.start();
tomoya123 0:edad9f0f386a 22 gyro.write(addr);
tomoya123 0:edad9f0f386a 23 gyro.stop();
tomoya123 0:edad9f0f386a 24 }
tomoya123 0:edad9f0f386a 25
tomoya123 0:edad9f0f386a 26 void HeptaGyro::sensing(float *gx,float *gy,float *gz)
tomoya123 0:edad9f0f386a 27 {
tomoya123 0:edad9f0f386a 28 gyro.start();
tomoya123 0:edad9f0f386a 29 gyro.write(addr);
tomoya123 0:edad9f0f386a 30 gyro.write(0x28);
tomoya123 0:edad9f0f386a 31 gyro.start();
tomoya123 0:edad9f0f386a 32 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 33 _xl = gyro.read(0);
tomoya123 0:edad9f0f386a 34 gyro.stop();
tomoya123 0:edad9f0f386a 35 gyro.start();
tomoya123 0:edad9f0f386a 36 gyro.write(addr);
tomoya123 0:edad9f0f386a 37 gyro.write(0x29);
tomoya123 0:edad9f0f386a 38 gyro.start();
tomoya123 0:edad9f0f386a 39 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 40 _xh = gyro.read(0);
tomoya123 0:edad9f0f386a 41 gyro.stop();
tomoya123 0:edad9f0f386a 42 *gx = (short((_xh<<8)|_xl)*0.00875);
tomoya123 0:edad9f0f386a 43
tomoya123 0:edad9f0f386a 44 gyro.start();
tomoya123 0:edad9f0f386a 45 gyro.write(addr);
tomoya123 0:edad9f0f386a 46 gyro.write(0x2A);
tomoya123 0:edad9f0f386a 47 gyro.start();
tomoya123 0:edad9f0f386a 48 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 49 _yl = gyro.read(0);
tomoya123 0:edad9f0f386a 50 gyro.stop();
tomoya123 0:edad9f0f386a 51 gyro.start();
tomoya123 0:edad9f0f386a 52 gyro.write(addr);
tomoya123 0:edad9f0f386a 53 gyro.write(0x2B);
tomoya123 0:edad9f0f386a 54 gyro.start();
tomoya123 0:edad9f0f386a 55 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 56 _yh = gyro.read(0);
tomoya123 0:edad9f0f386a 57 gyro.stop();
tomoya123 0:edad9f0f386a 58 *gy = (short((_yh<<8)|_yl)*0.00875);
tomoya123 0:edad9f0f386a 59
tomoya123 0:edad9f0f386a 60 gyro.start();
tomoya123 0:edad9f0f386a 61 gyro.write(addr);
tomoya123 0:edad9f0f386a 62 gyro.write(0x2C);
tomoya123 0:edad9f0f386a 63 gyro.start();
tomoya123 0:edad9f0f386a 64 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 65 _zl = gyro.read(0);
tomoya123 0:edad9f0f386a 66 gyro.stop();
tomoya123 0:edad9f0f386a 67 gyro.start();
tomoya123 0:edad9f0f386a 68 gyro.write(addr);
tomoya123 0:edad9f0f386a 69 gyro.write(0x2D);
tomoya123 0:edad9f0f386a 70 gyro.start();
tomoya123 0:edad9f0f386a 71 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 72 _zh = gyro.read(0);
tomoya123 0:edad9f0f386a 73 gyro.stop();
tomoya123 0:edad9f0f386a 74 *gz = (short((_zh<<8)|_zl)*0.00875);
tomoya123 0:edad9f0f386a 75 }
tomoya123 0:edad9f0f386a 76
tomoya123 0:edad9f0f386a 77 float HeptaGyro::x()
tomoya123 0:edad9f0f386a 78 {
tomoya123 0:edad9f0f386a 79
tomoya123 0:edad9f0f386a 80 gyro.start();
tomoya123 0:edad9f0f386a 81 gyro.write(addr);
tomoya123 0:edad9f0f386a 82 gyro.write(0x28);
tomoya123 0:edad9f0f386a 83 gyro.start();
tomoya123 0:edad9f0f386a 84 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 85 _xl = gyro.read(0);
tomoya123 0:edad9f0f386a 86 gyro.stop();
tomoya123 0:edad9f0f386a 87 gyro.start();
tomoya123 0:edad9f0f386a 88 gyro.write(addr);
tomoya123 0:edad9f0f386a 89 gyro.write(0x29);
tomoya123 0:edad9f0f386a 90 gyro.start();
tomoya123 0:edad9f0f386a 91 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 92 _xh = gyro.read(0);
tomoya123 0:edad9f0f386a 93 gyro.stop();
tomoya123 0:edad9f0f386a 94 return(short((_xh<<8)|_xl)*0.00875);
tomoya123 0:edad9f0f386a 95 }
tomoya123 0:edad9f0f386a 96
tomoya123 0:edad9f0f386a 97 float HeptaGyro::y()
tomoya123 0:edad9f0f386a 98 {
tomoya123 0:edad9f0f386a 99 gyro.start();
tomoya123 0:edad9f0f386a 100 gyro.write(addr);
tomoya123 0:edad9f0f386a 101 gyro.write(0x2A);
tomoya123 0:edad9f0f386a 102 gyro.start();
tomoya123 0:edad9f0f386a 103 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 104 _yl = gyro.read(0);
tomoya123 0:edad9f0f386a 105 gyro.stop();
tomoya123 0:edad9f0f386a 106 gyro.start();
tomoya123 0:edad9f0f386a 107 gyro.write(addr);
tomoya123 0:edad9f0f386a 108 gyro.write(0x2B);
tomoya123 0:edad9f0f386a 109 gyro.start();
tomoya123 0:edad9f0f386a 110 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 111 _yh = gyro.read(0);
tomoya123 0:edad9f0f386a 112 gyro.stop();
tomoya123 0:edad9f0f386a 113 return(short((_yh<<8)|_yl)*0.00875);
tomoya123 0:edad9f0f386a 114 }
tomoya123 0:edad9f0f386a 115
tomoya123 0:edad9f0f386a 116 float HeptaGyro::z()
tomoya123 0:edad9f0f386a 117 {
tomoya123 0:edad9f0f386a 118 gyro.start();
tomoya123 0:edad9f0f386a 119 gyro.write(addr);
tomoya123 0:edad9f0f386a 120 gyro.write(0x2C);
tomoya123 0:edad9f0f386a 121 gyro.start();
tomoya123 0:edad9f0f386a 122 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 123 _zl = gyro.read(0);
tomoya123 0:edad9f0f386a 124 gyro.stop();
tomoya123 0:edad9f0f386a 125 gyro.start();
tomoya123 0:edad9f0f386a 126 gyro.write(addr);
tomoya123 0:edad9f0f386a 127 gyro.write(0x2D);
tomoya123 0:edad9f0f386a 128 gyro.start();
tomoya123 0:edad9f0f386a 129 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 130 _zh = gyro.read(0);
tomoya123 0:edad9f0f386a 131 gyro.stop();
tomoya123 0:edad9f0f386a 132 return(short((_zh<<8)|_zl)*0.00875);
tomoya123 0:edad9f0f386a 133 }
tomoya123 0:edad9f0f386a 134
tomoya123 0:edad9f0f386a 135 void HeptaGyro::sensing_u16(char* gx_u16,char* gy_u16,char* gz_u16, int *dsize)
tomoya123 0:edad9f0f386a 136 {
tomoya123 0:edad9f0f386a 137 char g1[8]={0x00},g2[8]={0x00};
tomoya123 0:edad9f0f386a 138 gyro.start();
tomoya123 0:edad9f0f386a 139 gyro.write(addr);
tomoya123 0:edad9f0f386a 140 gyro.write(0x28);
tomoya123 0:edad9f0f386a 141 gyro.start();
tomoya123 0:edad9f0f386a 142 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 143 _xl = gyro.read(0);
tomoya123 0:edad9f0f386a 144 gyro.stop();
tomoya123 0:edad9f0f386a 145 gyro.start();
tomoya123 0:edad9f0f386a 146 gyro.write(addr);
tomoya123 0:edad9f0f386a 147 gyro.write(0x29);
tomoya123 0:edad9f0f386a 148 gyro.start();
tomoya123 0:edad9f0f386a 149 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 150 _xh = gyro.read(0);
tomoya123 0:edad9f0f386a 151 gyro.stop();
tomoya123 0:edad9f0f386a 152 sprintf( g1, "%02X", ((_xh)) & 0xFF);
tomoya123 0:edad9f0f386a 153 sprintf( g2, "%02X", ((_xl)) & 0xFF);
tomoya123 0:edad9f0f386a 154 gx_u16[0]=g1[0];
tomoya123 0:edad9f0f386a 155 gx_u16[1]=g1[1];
tomoya123 0:edad9f0f386a 156 gx_u16[2]=g2[0];
tomoya123 0:edad9f0f386a 157 gx_u16[3]=g2[1];
tomoya123 0:edad9f0f386a 158
tomoya123 0:edad9f0f386a 159 gyro.start();
tomoya123 0:edad9f0f386a 160 gyro.write(addr);
tomoya123 0:edad9f0f386a 161 gyro.write(0x2A);
tomoya123 0:edad9f0f386a 162 gyro.start();
tomoya123 0:edad9f0f386a 163 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 164 _yl = gyro.read(0);
tomoya123 0:edad9f0f386a 165 gyro.stop();
tomoya123 0:edad9f0f386a 166 gyro.start();
tomoya123 0:edad9f0f386a 167 gyro.write(addr);
tomoya123 0:edad9f0f386a 168 gyro.write(0x2B);
tomoya123 0:edad9f0f386a 169 gyro.start();
tomoya123 0:edad9f0f386a 170 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 171 _yh = gyro.read(0);
tomoya123 0:edad9f0f386a 172 gyro.stop();
tomoya123 0:edad9f0f386a 173 sprintf( g1, "%02X", ((_yh)) & 0xFF);
tomoya123 0:edad9f0f386a 174 sprintf( g2, "%02X", ((_yl)) & 0xFF);
tomoya123 0:edad9f0f386a 175 gy_u16[0]=g1[0];
tomoya123 0:edad9f0f386a 176 gy_u16[1]=g1[1];
tomoya123 0:edad9f0f386a 177 gy_u16[2]=g2[0];
tomoya123 0:edad9f0f386a 178 gy_u16[3]=g2[1];
tomoya123 0:edad9f0f386a 179
tomoya123 0:edad9f0f386a 180 gyro.start();
tomoya123 0:edad9f0f386a 181 gyro.write(addr);
tomoya123 0:edad9f0f386a 182 gyro.write(0x2C);
tomoya123 0:edad9f0f386a 183 gyro.start();
tomoya123 0:edad9f0f386a 184 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 185 _zl = gyro.read(0);
tomoya123 0:edad9f0f386a 186 gyro.stop();
tomoya123 0:edad9f0f386a 187 gyro.start();
tomoya123 0:edad9f0f386a 188 gyro.write(addr);
tomoya123 0:edad9f0f386a 189 gyro.write(0x2D);
tomoya123 0:edad9f0f386a 190 gyro.start();
tomoya123 0:edad9f0f386a 191 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 192 _zh = gyro.read(0);
tomoya123 0:edad9f0f386a 193 gyro.stop();
tomoya123 0:edad9f0f386a 194 sprintf( g1, "%02X", ((_zh)) & 0xFF);
tomoya123 0:edad9f0f386a 195 sprintf( g2, "%02X", ((_zl)) & 0xFF);
tomoya123 0:edad9f0f386a 196 gz_u16[0]=g1[0];
tomoya123 0:edad9f0f386a 197 gz_u16[1]=g1[1];
tomoya123 0:edad9f0f386a 198 gz_u16[2]=g2[0];
tomoya123 0:edad9f0f386a 199 gz_u16[3]=g2[1];
tomoya123 0:edad9f0f386a 200 *dsize = 4;
tomoya123 0:edad9f0f386a 201 }
tomoya123 0:edad9f0f386a 202
tomoya123 0:edad9f0f386a 203 void HeptaGyro::x_u16(char* g_u16, int *dsize)
tomoya123 0:edad9f0f386a 204 {
tomoya123 0:edad9f0f386a 205 char g1[8]={0x00},g2[8]={0x00};
tomoya123 0:edad9f0f386a 206 gyro.start();
tomoya123 0:edad9f0f386a 207 gyro.write(addr);
tomoya123 0:edad9f0f386a 208 gyro.write(0x28);
tomoya123 0:edad9f0f386a 209 gyro.start();
tomoya123 0:edad9f0f386a 210 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 211 _xl = gyro.read(0);
tomoya123 0:edad9f0f386a 212 gyro.stop();
tomoya123 0:edad9f0f386a 213 gyro.start();
tomoya123 0:edad9f0f386a 214 gyro.write(addr);
tomoya123 0:edad9f0f386a 215 gyro.write(0x29);
tomoya123 0:edad9f0f386a 216 gyro.start();
tomoya123 0:edad9f0f386a 217 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 218 _xh = gyro.read(0);
tomoya123 0:edad9f0f386a 219 gyro.stop();
tomoya123 0:edad9f0f386a 220 sprintf( g1, "%02X", ((_xh)) & 0xFF);
tomoya123 0:edad9f0f386a 221 sprintf( g2, "%02X", ((_xl)) & 0xFF);
tomoya123 0:edad9f0f386a 222 g_u16[0]=g1[0];
tomoya123 0:edad9f0f386a 223 g_u16[1]=g1[1];
tomoya123 0:edad9f0f386a 224 g_u16[2]=g2[0];
tomoya123 0:edad9f0f386a 225 g_u16[3]=g2[1];
tomoya123 0:edad9f0f386a 226 *dsize = 4;
tomoya123 0:edad9f0f386a 227 }
tomoya123 0:edad9f0f386a 228
tomoya123 0:edad9f0f386a 229 void HeptaGyro::y_u16(char* g_u16, int *dsize)
tomoya123 0:edad9f0f386a 230 {
tomoya123 0:edad9f0f386a 231 char g1[8]={0x00},g2[8]={0x00};
tomoya123 0:edad9f0f386a 232 gyro.start();
tomoya123 0:edad9f0f386a 233 gyro.write(addr);
tomoya123 0:edad9f0f386a 234 gyro.write(0x2A);
tomoya123 0:edad9f0f386a 235 gyro.start();
tomoya123 0:edad9f0f386a 236 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 237 _yl = gyro.read(0);
tomoya123 0:edad9f0f386a 238 gyro.stop();
tomoya123 0:edad9f0f386a 239 gyro.start();
tomoya123 0:edad9f0f386a 240 gyro.write(addr);
tomoya123 0:edad9f0f386a 241 gyro.write(0x2B);
tomoya123 0:edad9f0f386a 242 gyro.start();
tomoya123 0:edad9f0f386a 243 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 244 _yh = gyro.read(0);
tomoya123 0:edad9f0f386a 245 gyro.stop();
tomoya123 0:edad9f0f386a 246 sprintf( g1, "%02X", ((_yh)) & 0xFF);
tomoya123 0:edad9f0f386a 247 sprintf( g2, "%02X", ((_yl)) & 0xFF);
tomoya123 0:edad9f0f386a 248 g_u16[0]=g1[0];
tomoya123 0:edad9f0f386a 249 g_u16[1]=g1[1];
tomoya123 0:edad9f0f386a 250 g_u16[2]=g2[0];
tomoya123 0:edad9f0f386a 251 g_u16[3]=g2[1];
tomoya123 0:edad9f0f386a 252 *dsize = 4;
tomoya123 0:edad9f0f386a 253 }
tomoya123 0:edad9f0f386a 254
tomoya123 0:edad9f0f386a 255 void HeptaGyro::z_u16(char* g_u16, int *dsize)
tomoya123 0:edad9f0f386a 256 {
tomoya123 0:edad9f0f386a 257 char g1[8]={0x00},g2[8]={0x00};
tomoya123 0:edad9f0f386a 258 gyro.start();
tomoya123 0:edad9f0f386a 259 gyro.write(addr);
tomoya123 0:edad9f0f386a 260 gyro.write(0x2C);
tomoya123 0:edad9f0f386a 261 gyro.start();
tomoya123 0:edad9f0f386a 262 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 263 _zl = gyro.read(0);
tomoya123 0:edad9f0f386a 264 gyro.stop();
tomoya123 0:edad9f0f386a 265 gyro.start();
tomoya123 0:edad9f0f386a 266 gyro.write(addr);
tomoya123 0:edad9f0f386a 267 gyro.write(0x2D);
tomoya123 0:edad9f0f386a 268 gyro.start();
tomoya123 0:edad9f0f386a 269 gyro.write(addr|0x01);
tomoya123 0:edad9f0f386a 270 _zh = gyro.read(0);
tomoya123 0:edad9f0f386a 271 gyro.stop();
tomoya123 0:edad9f0f386a 272 sprintf( g1, "%02X", ((_zh)) & 0xFF);
tomoya123 0:edad9f0f386a 273 sprintf( g2, "%02X", ((_zl)) & 0xFF);
tomoya123 0:edad9f0f386a 274 g_u16[0]=g1[0];
tomoya123 0:edad9f0f386a 275 g_u16[1]=g1[1];
tomoya123 0:edad9f0f386a 276 g_u16[2]=g2[0];
tomoya123 0:edad9f0f386a 277 g_u16[3]=g2[1];
tomoya123 0:edad9f0f386a 278 *dsize = 4;
tomoya123 0:edad9f0f386a 279 }