SDcard

Dependencies:   mbed PowerControl SDFileSystem

Fork of SDFilesystem by 智也 大野

Committer:
tomoya123
Date:
Tue Dec 13 07:06:47 2016 +0000
Revision:
1:47daa1a922c4
Parent:
0:8d235efb1150
SDFilesystem

Who changed what in which revision?

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