
http://mbed.org/users/okini3939/notebook/daisen-edes/
eDES2WD.cpp@0:141734449aeb, 2012-02-23 (annotated)
- Committer:
- okini3939
- Date:
- Thu Feb 23 01:33:12 2012 +0000
- Revision:
- 0:141734449aeb
- Child:
- 1:3c8a6bd50779
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:141734449aeb | 1 | #include "mbed.h" |
okini3939 | 0:141734449aeb | 2 | #include "eDES2WD.h" |
okini3939 | 0:141734449aeb | 3 | |
okini3939 | 0:141734449aeb | 4 | I2C i2c(p28, p27); |
okini3939 | 0:141734449aeb | 5 | |
okini3939 | 0:141734449aeb | 6 | void eDES2WD_reset (int id) { |
okini3939 | 0:141734449aeb | 7 | char cmd[] = {1, I2C_WCMD_RESET}; |
okini3939 | 0:141734449aeb | 8 | int adrs; |
okini3939 | 0:141734449aeb | 9 | |
okini3939 | 0:141734449aeb | 10 | if (0 < id){ |
okini3939 | 0:141734449aeb | 11 | adrs = SUB_ADRS + (id - 1) * 2; |
okini3939 | 0:141734449aeb | 12 | } else { |
okini3939 | 0:141734449aeb | 13 | adrs = 0; |
okini3939 | 0:141734449aeb | 14 | } |
okini3939 | 0:141734449aeb | 15 | i2c.write(adrs, cmd, 2); |
okini3939 | 0:141734449aeb | 16 | } |
okini3939 | 0:141734449aeb | 17 | |
okini3939 | 0:141734449aeb | 18 | void eDES2WD_motor (int id, int l_speed, int r_speed) { |
okini3939 | 0:141734449aeb | 19 | char cmd[] = {3, I2C_WCMD_MOTOR, 0, 0}; |
okini3939 | 0:141734449aeb | 20 | int adrs; |
okini3939 | 0:141734449aeb | 21 | |
okini3939 | 0:141734449aeb | 22 | cmd[2] = l_speed; |
okini3939 | 0:141734449aeb | 23 | cmd[3] = r_speed; |
okini3939 | 0:141734449aeb | 24 | if (0 < id){ |
okini3939 | 0:141734449aeb | 25 | adrs = SUB_ADRS + (id - 1) * 2; |
okini3939 | 0:141734449aeb | 26 | } else { |
okini3939 | 0:141734449aeb | 27 | adrs = 0; |
okini3939 | 0:141734449aeb | 28 | } |
okini3939 | 0:141734449aeb | 29 | i2c.write(adrs, cmd, 4); |
okini3939 | 0:141734449aeb | 30 | } |
okini3939 | 0:141734449aeb | 31 | |
okini3939 | 0:141734449aeb | 32 | void eDES2WD_set_led (int id, int led, int sw) { |
okini3939 | 0:141734449aeb | 33 | char cmd[] = {3, I2C_WCMD_LED, 0, 0}; |
okini3939 | 0:141734449aeb | 34 | int adrs; |
okini3939 | 0:141734449aeb | 35 | |
okini3939 | 0:141734449aeb | 36 | cmd[2] = led; |
okini3939 | 0:141734449aeb | 37 | cmd[3] = sw; |
okini3939 | 0:141734449aeb | 38 | if (0 < id){ |
okini3939 | 0:141734449aeb | 39 | adrs = SUB_ADRS + (id - 1) * 2; |
okini3939 | 0:141734449aeb | 40 | } else { |
okini3939 | 0:141734449aeb | 41 | adrs = 0; |
okini3939 | 0:141734449aeb | 42 | } |
okini3939 | 0:141734449aeb | 43 | i2c.write(adrs, cmd, 4); |
okini3939 | 0:141734449aeb | 44 | } |