Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Gamma Beta Alpha
Dependents: 2017_Bteam_I2CTransporter BETA_A ALPHA_A GAMMA_A
Revision 2:da463477713b, committed 2017-08-18
- Comitter:
- Komazawa_sun
- Date:
- Fri Aug 18 03:13:00 2017 +0000
- Parent:
- 1:47ea89b6364e
- Child:
- 3:7606edb64c1c
- Commit message:
- 2017_hongo_Bteam
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Gamma.lib Fri Aug 18 03:13:00 2017 +0000 @@ -0,0 +1,1 @@ +Gamma#519ec302e9b8
--- a/GammaPool.cpp Wed Aug 16 07:02:54 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-#include "GammaPool.h"
-
-GammaPool::GammaPool()
-: _master(SDA, SCL)
-{
- data_index[0] = ctrl.rx;
- data_index[1] = ctrl.ry;
- data_index[2] = ctrl.lx;
- data_index[3] = ctrl.r_sw1;
- data_index[4] = ctrl.r_sw2;
- data_index[5] = ctrl.r_sw3;
- data_index[6] = ctrl.r_sw4;
- data_index[7] = ctrl.r_s_sw1;
- data_index[8] = ctrl.r_s_sw2;
- data_index[9] = ctrl.l_sw1;
- data_index[10] = ctrl.l_sw2;
- data_index[11] = ctrl.l_sw3;
- data_index[12] = ctrl.l_sw4;
- data_index[13] = ctrl.l_s_sw1;
- data_index[14] = ctrl.l_s_sw2;
- data_index[15] = ctrl.mode1;
- data_index[16] = ctrl.mode2;
- data_index[17] = ctrl.r_srd;
- data_index[18] = ctrl.l_srd;
- data_index[19] = ar.r.max_limit;
- data_index[20] = ar.r.min_limit;
- data_index[21] = ar.l.max_limit;
- data_index[22] = ar.l.min_limit;
-}
-
-bool GammaPool::set()
-{
- bool error = true;
- /*_master.transport(0, JUSHINKUN_ADDR, 0, ctrl.all_data, 10);
- _master.transport(APPER_BODY_ADDR, TspMode::send, r.all_data, 4);
- _master.transport(APPER_BODY_ADDR, TspMode::reseive, r.all_data, 1);*/
-
- error &= ~_master.read(JUSHINKUN_ADDR, ctrl.all_data, 10);
- error &= ~_master.write(APPER_BODY_ADDR, a.all_data, 4);
- error &= ~_master.read(JUSHINKUN_ADDR, ar.all_data, 1);
-
- return error;
-}
-
-int GammaPool::read(int index_num)
-{
- return data_index[index_num];
-}
-
-void GammaPool::reset(){
- for(int t = 0; t < 10; t++)
- ctrl.all_data[t] = 0;
- for(int t = 0; t < 4; t++)
- a.all_data[t] = 0;
- ar.all_data[0] = 0;
-}
\ No newline at end of file
--- a/GammaPool.h Wed Aug 16 07:02:54 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-#ifndef SDA
-#define SDA PB_7
-#endif
-
-#ifndef SCL
-#define SCL PB_6
-#endif
-
-#ifndef SCL
-#define SCL PB_6
-#endif
-
-#ifndef JUSHINKUN_ADDR
-#define JUSHINKUN_ADDR 0x12
-#endif
-
-#ifndef APPER_BODY_ADDR
-#define APPER_BODY_ADDR 0x11
-#endif
-
-#ifndef GAMMAPOOL_H
-#define GAMMAPOOL_H
-
-#include "DataPool.h"
-#include <mbed.h>
-//#include "I2CTransporter.h"
-
-class GammaPool : DataPool{
- public:
- GammaPool();
-
- virtual bool set();
- virtual int read(int index_num);
- virtual void reset();
-
- protected:
- union i2c_jusinkun_data //from jushinkun_datas
- {
- char all_data[10];
- struct
- {
- unsigned char start_byte:8;
- signed int rx :8;
- signed int ry :8;
- signed int lx :8;
- unsigned int r_sw1 :1;
- unsigned int r_sw2 :1;
- unsigned int r_sw3 :1;
- unsigned int r_sw4 :1;
- unsigned int r_s_sw1 :1;
- unsigned int r_s_sw2 :1;
- unsigned int l_sw1 :1;
- unsigned int l_sw2 :1;
- unsigned int l_sw3 :1;
- unsigned int l_sw4 :1;
- unsigned int l_s_sw1 :1;
- unsigned int l_s_sw2 :1;
- unsigned int mode1 :1;
- unsigned int mode2 :1;
- signed int r_srd :8;
- signed int l_srd :8;
- unsigned int no_data :2;
- unsigned char checksum:8;
- unsigned char stop_byte :8;
- };
- };
-
- i2c_jusinkun_data ctrl;
-
-
- union i2c_johanshin_data
- {
- char all_data[4];
- struct
- {
- struct
- {
- signed int pwm :8;
- int fire1 :1;
- int fire2 :1;
- }r;
-
- struct
- {
- signed int pwm :8;
- int fire1 :1;
- int fire2 :1;
- }l;
-
- struct
- {
- signed int pwm :8;
- int fire :1;
- //int fire2 :1;
- }k;
-
- int sao_call1 :1;
- int sao_call2 :1;
- int no_data :1;
- };
- }; //apper_body
- i2c_johanshin_data a;
-
- union i2c_johanshin_return
- {
- char all_data[1];
- struct limit
- {
- unsigned int max_limit :1;
- unsigned int min_limit :1;
- };
- limit r;
- limit l;
- limit k;
- }; //apper_body_return
- i2c_johanshin_return ar;
- private:
- //I2CTransporter _master;
- I2C _master;
- int data_index[23];
-};
-
-
-#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/I2CTransporter.cpp Fri Aug 18 03:13:00 2017 +0000
@@ -0,0 +1,59 @@
+#include "I2CTransporter.h"
+
+I2CTransporter::I2CTransporter(PinName sda, PinName scl)
+: _master(sda,scl)
+{
+ address = 0;
+ target_array = NULL;
+ Transport_Began = false;
+}
+
+void I2CTransporter::transport_begin(int addr_, char *target_array_, int data_size_)
+{
+ address = addr_ ;
+ target_array = target_array_;
+ data_size = data_size_;
+ Transport_Began = true;
+}
+
+bool I2CTransporter::read()
+{
+ if(Transport_Began == true)
+ {
+ return _master.read(address, target_array, data_size) == 0
+ ? true
+ : false;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+bool I2CTransporter::write()
+{
+ if(Transport_Began == true)
+ {
+ return _master.write(address, target_array, data_size) == 0
+ ? true
+ : false;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+void I2CTransporter::transport_end()
+{
+ if(Transport_Began == true)
+ {
+ address = 0;
+ target_array = NULL;
+ data_size = 0;
+ Transport_Began = false;
+ }
+ else
+ {
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/I2CTransporter.h Fri Aug 18 03:13:00 2017 +0000
@@ -0,0 +1,25 @@
+#ifndef I2C_TRANSPORTER_H
+#define I2C_TRANSPORTER_H
+
+#include <mbed.h>
+
+class I2CTransporter
+{
+ public:
+ I2CTransporter(PinName sda, PinName scl);
+
+ void transport_begin(int addr_, char *target_array_, int data_size_);
+ bool read();
+ bool write();
+ void transport_end();
+
+ private:
+ I2C _master;
+
+ int address;
+ char *target_array;
+ int data_size;
+ bool Transport_Began;
+};
+
+#endif