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.
Input/Switch/Switch.cpp@29:44d5454ce8fa, 2019-10-18 (annotated)
- Committer:
- M_souta
- Date:
- Fri Oct 18 22:33:25 2019 +0000
- Revision:
- 29:44d5454ce8fa
- Parent:
- 22:7d93f79a3686
tt
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| t_yamamoto | 0:669ef71cba68 | 1 | #include "Switch.h" |
| t_yamamoto | 0:669ef71cba68 | 2 | |
| t_yamamoto | 0:669ef71cba68 | 3 | #include <stdint.h> |
| t_yamamoto | 0:669ef71cba68 | 4 | #include "mbed.h" |
| t_yamamoto | 0:669ef71cba68 | 5 | |
| t_yamamoto | 0:669ef71cba68 | 6 | namespace SWITCH { |
| t_yamamoto | 0:669ef71cba68 | 7 | DigitalIn dipSw[] = { |
| t_yamamoto | 0:669ef71cba68 | 8 | DigitalIn(DIP0_PIN), |
| t_yamamoto | 0:669ef71cba68 | 9 | DigitalIn(DIP1_PIN), |
| t_yamamoto | 0:669ef71cba68 | 10 | DigitalIn(DIP2_PIN), |
| t_yamamoto | 0:669ef71cba68 | 11 | DigitalIn(DIP3_PIN), |
| t_yamamoto | 0:669ef71cba68 | 12 | }; |
| t_yamamoto | 0:669ef71cba68 | 13 | |
| M_souta | 29:44d5454ce8fa | 14 | /* |
| t_yamamoto | 0:669ef71cba68 | 15 | DigitalIn limitSw(LS_PIN); |
| 7ka884 | 4:ba9df71868df | 16 | |
| t_yamamoto | 0:669ef71cba68 | 17 | DigitalOut selectPin[] = { |
| t_yamamoto | 0:669ef71cba68 | 18 | DigitalOut(SELECT0_PIN), |
| t_yamamoto | 0:669ef71cba68 | 19 | DigitalOut(SELECT1_PIN), |
| t_yamamoto | 0:669ef71cba68 | 20 | DigitalOut(SELECT2_PIN), |
| t_yamamoto | 0:669ef71cba68 | 21 | DigitalOut(SELECT3_PIN), |
| t_yamamoto | 0:669ef71cba68 | 22 | }; |
| M_souta | 29:44d5454ce8fa | 23 | */ |
| M_souta | 22:7d93f79a3686 | 24 | |
| M_souta | 29:44d5454ce8fa | 25 | DigitalIn digitalIn[INPUT_NUM] = { |
| M_souta | 29:44d5454ce8fa | 26 | DigitalIn(INPUT0_PIN), |
| M_souta | 29:44d5454ce8fa | 27 | DigitalIn(INPUT1_PIN), |
| M_souta | 29:44d5454ce8fa | 28 | DigitalIn(INPUT2_PIN), |
| M_souta | 29:44d5454ce8fa | 29 | DigitalIn(INPUT3_PIN), |
| M_souta | 29:44d5454ce8fa | 30 | DigitalIn(INPUT4_PIN), |
| M_souta | 29:44d5454ce8fa | 31 | DigitalIn(INPUT5_PIN), |
| M_souta | 29:44d5454ce8fa | 32 | DigitalIn(INPUT6_PIN), |
| M_souta | 29:44d5454ce8fa | 33 | DigitalIn(INPUT7_PIN), |
| M_souta | 29:44d5454ce8fa | 34 | DigitalIn(INPUT8_PIN), |
| M_souta | 29:44d5454ce8fa | 35 | DigitalIn(INPUT9_PIN), |
| M_souta | 29:44d5454ce8fa | 36 | DigitalIn(INPUT10_PIN), |
| M_souta | 29:44d5454ce8fa | 37 | DigitalIn(INPUT11_PIN), |
| M_souta | 29:44d5454ce8fa | 38 | DigitalIn(INPUT12_PIN), |
| M_souta | 29:44d5454ce8fa | 39 | DigitalIn(INPUT13_PIN), |
| M_souta | 29:44d5454ce8fa | 40 | DigitalIn(INPUT14_PIN), |
| M_souta | 29:44d5454ce8fa | 41 | DigitalIn(INPUT15_PIN), |
| M_souta | 29:44d5454ce8fa | 42 | DigitalIn(INPUT16_PIN), |
| M_souta | 29:44d5454ce8fa | 43 | DigitalIn(INPUT17_PIN), |
| M_souta | 29:44d5454ce8fa | 44 | DigitalIn(INPUT18_PIN), |
| M_souta | 29:44d5454ce8fa | 45 | DigitalIn(INPUT19_PIN), |
| M_souta | 22:7d93f79a3686 | 46 | }; |
| t_yamamoto | 0:669ef71cba68 | 47 | |
| t_yamamoto | 0:669ef71cba68 | 48 | void DipSw::Initialize() { |
| t_yamamoto | 0:669ef71cba68 | 49 | for(uint8_t i=0; i < sizeof(dipSw)/sizeof(dipSw[0]); i++) { |
| t_yamamoto | 0:669ef71cba68 | 50 | dipSw[i].mode(PullUp); |
| t_yamamoto | 0:669ef71cba68 | 51 | } |
| t_yamamoto | 0:669ef71cba68 | 52 | } |
| t_yamamoto | 0:669ef71cba68 | 53 | |
| t_yamamoto | 0:669ef71cba68 | 54 | uint8_t DipSw::GetStatus() { |
| t_yamamoto | 0:669ef71cba68 | 55 | if(DIP0 == SW_ON) return 0; |
| t_yamamoto | 0:669ef71cba68 | 56 | else if(DIP1 == SW_ON) return 1; |
| t_yamamoto | 0:669ef71cba68 | 57 | else if(DIP2 == SW_ON) return 2; |
| t_yamamoto | 0:669ef71cba68 | 58 | else if(DIP3 == SW_ON) return 3; |
| t_yamamoto | 0:669ef71cba68 | 59 | |
| t_yamamoto | 0:669ef71cba68 | 60 | return 0; |
| t_yamamoto | 0:669ef71cba68 | 61 | } |
| t_yamamoto | 0:669ef71cba68 | 62 | |
| t_yamamoto | 0:669ef71cba68 | 63 | void LimitSw::Initialize() { |
| M_souta | 29:44d5454ce8fa | 64 | for(uint8_t i=0; i<INPUT_NUM; i++) { |
| M_souta | 29:44d5454ce8fa | 65 | digitalIn[i].mode(PullUp); |
| M_souta | 29:44d5454ce8fa | 66 | } |
| t_yamamoto | 0:669ef71cba68 | 67 | } |
| t_yamamoto | 0:669ef71cba68 | 68 | |
| t_yamamoto | 0:669ef71cba68 | 69 | bool LimitSw::IsPressed(int index) { |
| M_souta | 29:44d5454ce8fa | 70 | |
| M_souta | 29:44d5454ce8fa | 71 | /* |
| t_yamamoto | 0:669ef71cba68 | 72 | MP_Channel ch; |
| 7ka884 | 1:b1219d8ca117 | 73 | |
| 7ka884 | 1:b1219d8ca117 | 74 | switch(index){ |
| 7ka884 | 1:b1219d8ca117 | 75 | case 0: |
| M_souta | 29:44d5454ce8fa | 76 | ch.all = 8; |
| 7ka884 | 1:b1219d8ca117 | 77 | break; |
| M_souta | 22:7d93f79a3686 | 78 | case 1: |
| M_souta | 29:44d5454ce8fa | 79 | ch.all = 9; |
| 7ka884 | 1:b1219d8ca117 | 80 | break; |
| M_souta | 22:7d93f79a3686 | 81 | case 2: |
| M_souta | 29:44d5454ce8fa | 82 | ch.all = 10; |
| M_souta | 22:7d93f79a3686 | 83 | break; |
| M_souta | 22:7d93f79a3686 | 84 | case 3: |
| M_souta | 29:44d5454ce8fa | 85 | ch.all = 11; |
| M_souta | 22:7d93f79a3686 | 86 | break; |
| 7ka884 | 1:b1219d8ca117 | 87 | case 4: |
| M_souta | 29:44d5454ce8fa | 88 | ch.all = 12; |
| kishibekairohan | 16:3f2c2d89372b | 89 | break; |
| kishibekairohan | 16:3f2c2d89372b | 90 | case 5: |
| M_souta | 29:44d5454ce8fa | 91 | ch.all = 13; |
| kishibekairohan | 16:3f2c2d89372b | 92 | break; |
| kishibekairohan | 16:3f2c2d89372b | 93 | case 6: |
| M_souta | 29:44d5454ce8fa | 94 | ch.all = 14; |
| kishibekairohan | 16:3f2c2d89372b | 95 | break; |
| kishibekairohan | 16:3f2c2d89372b | 96 | case 7: |
| M_souta | 29:44d5454ce8fa | 97 | ch.all = 15; |
| kishibekairohan | 16:3f2c2d89372b | 98 | break; |
| kishibekairohan | 16:3f2c2d89372b | 99 | case 8: |
| kishibekairohan | 16:3f2c2d89372b | 100 | ch.all = 7; |
| kishibekairohan | 16:3f2c2d89372b | 101 | break; |
| kishibekairohan | 16:3f2c2d89372b | 102 | case 9: |
| M_souta | 22:7d93f79a3686 | 103 | ch.all = 4; |
| 7ka884 | 1:b1219d8ca117 | 104 | break; |
| kishibekairohan | 16:3f2c2d89372b | 105 | case 10: |
| M_souta | 22:7d93f79a3686 | 106 | ch.all = 2; |
| 7ka884 | 1:b1219d8ca117 | 107 | break; |
| kishibekairohan | 16:3f2c2d89372b | 108 | case 11: |
| M_souta | 22:7d93f79a3686 | 109 | ch.all = 0; |
| 7ka884 | 1:b1219d8ca117 | 110 | break; |
| kishibekairohan | 16:3f2c2d89372b | 111 | case 12: |
| M_souta | 22:7d93f79a3686 | 112 | ch.all = 6; |
| 7ka884 | 1:b1219d8ca117 | 113 | break; |
| kishibekairohan | 16:3f2c2d89372b | 114 | case 13: |
| M_souta | 22:7d93f79a3686 | 115 | ch.all = 5; |
| 7ka884 | 1:b1219d8ca117 | 116 | break; |
| kishibekairohan | 16:3f2c2d89372b | 117 | case 14: |
| M_souta | 22:7d93f79a3686 | 118 | ch.all = 3; |
| kishibekairohan | 16:3f2c2d89372b | 119 | break; |
| kishibekairohan | 16:3f2c2d89372b | 120 | case 15: |
| M_souta | 22:7d93f79a3686 | 121 | ch.all = 1; |
| M_souta | 22:7d93f79a3686 | 122 | break; |
| 7ka884 | 1:b1219d8ca117 | 123 | } |
| 7ka884 | 1:b1219d8ca117 | 124 | |
| t_yamamoto | 0:669ef71cba68 | 125 | selectPin[0] = ch.s0; |
| t_yamamoto | 0:669ef71cba68 | 126 | selectPin[1] = ch.s1; |
| t_yamamoto | 0:669ef71cba68 | 127 | selectPin[2] = ch.s2; |
| t_yamamoto | 0:669ef71cba68 | 128 | selectPin[3] = ch.s3; |
| 7ka884 | 4:ba9df71868df | 129 | |
| 7ka884 | 1:b1219d8ca117 | 130 | wait_us(1); |
| M_souta | 29:44d5454ce8fa | 131 | */ |
| t_yamamoto | 0:669ef71cba68 | 132 | |
| M_souta | 29:44d5454ce8fa | 133 | return digitalIn[index] ? false : true; |
| t_yamamoto | 0:669ef71cba68 | 134 | } |
| t_yamamoto | 0:669ef71cba68 | 135 | } |