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.
main_pc052c_configurator.cpp@4:dd76f4ee29fd, 2017-06-29 (annotated)
- Committer:
- sagara17
- Date:
- Thu Jun 29 10:38:23 2017 +0000
- Revision:
- 4:dd76f4ee29fd
- Parent:
- 3:8e29c3da6961
- Child:
- 5:8eefbd5f77aa
update 29th June 2017
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| sagara17 | 3:8e29c3da6961 | 1 | //pc052c_configurator |
| sagara17 | 3:8e29c3da6961 | 2 | //S.V. Addepalli & P. Baesso - sagar.addepalli@iitb.ac.in |
| sagara17 | 3:8e29c3da6961 | 3 | //This firmware can be installed on a KL25Z board and provides |
| sagara17 | 3:8e29c3da6961 | 4 | //a serial interface to configure the pc052c board. |
| sagara17 | 3:8e29c3da6961 | 5 | //The communication between KL25Z and pc052c uses the SPI interface. |
| sagara17 | 3:8e29c3da6961 | 6 | |
| sagara17 | 3:8e29c3da6961 | 7 | #include "mbed.h" |
| sagara17 | 3:8e29c3da6961 | 8 | #include <led_options.h> |
| sagara17 | 3:8e29c3da6961 | 9 | #include <spi_functions.h> |
| sagara17 | 3:8e29c3da6961 | 10 | #include <vector> |
| sagara17 | 3:8e29c3da6961 | 11 | #include <string> |
| sagara17 | 3:8e29c3da6961 | 12 | |
| sagara17 | 3:8e29c3da6961 | 13 | std::vector<std::string> tokenize(const std::string& str, const std::string& delim); |
| sagara17 | 3:8e29c3da6961 | 14 | void doCommands(std::vector<std::string>& tokens); |
| sagara17 | 3:8e29c3da6961 | 15 | using namespace std; |
| sagara17 | 3:8e29c3da6961 | 16 | |
| sagara17 | 3:8e29c3da6961 | 17 | // DEFINE SERIAL INTERFACE AND PINS USED BY THE SPI PROTOCOL |
| sagara17 | 3:8e29c3da6961 | 18 | //Serial pc(USccBTX, USBRX); |
| sagara17 | 3:8e29c3da6961 | 19 | Serial pc(USBTX, USBRX); // tx, rx |
| sagara17 | 3:8e29c3da6961 | 20 | DigitalOut myled(LED1); |
| sagara17 | 3:8e29c3da6961 | 21 | SPI dac_port1(PTD2, PTD3, PTD1); //mosi, miso, sclk //SPI0 |
| sagara17 | 3:8e29c3da6961 | 22 | SPI dac_port2(PTD2, PTC6, PTD1); //SPI0 |
| sagara17 | 3:8e29c3da6961 | 23 | SPI dac_port3(PTD2, PTC7, PTD1); //SPI0 |
| sagara17 | 3:8e29c3da6961 | 24 | SPI dac_port4(PTD2, PTA16, PTD1); //SPI0 |
| sagara17 | 3:8e29c3da6961 | 25 | SPI dac_port5(PTD2, PTA17, PTD1); //SPI0 |
| sagara17 | 3:8e29c3da6961 | 26 | SPI dac_port6(PTE3, PTD7, PTE2); //SPI1 |
| sagara17 | 3:8e29c3da6961 | 27 | SPI dac_port7(PTE3, PTE1, PTE2); //SPI1 |
| sagara17 | 3:8e29c3da6961 | 28 | SPI dac_port8(PTE3, PTD6, PTE2); //SPI1 |
| sagara17 | 3:8e29c3da6961 | 29 | DigitalOut sync1(PTD5, 1);// Board 1 slave select. Initialize to high |
| sagara17 | 3:8e29c3da6961 | 30 | DigitalOut sync2(PTD0, 1); // Board 2 slave select. Initialize to high good to go |
| sagara17 | 3:8e29c3da6961 | 31 | DigitalOut sync3(PTE4, 1); // Board 3 slave select. Initialize to high GOOD TO GO |
| sagara17 | 4:dd76f4ee29fd | 32 | DigitalOut sync4(PTC5, 1);// Board 4 slave select. Initialize to high GOOD TO GO |
| sagara17 | 3:8e29c3da6961 | 33 | DigitalOut sync5(PTB10, 1); // Board 5 slave select. Initialize to high good to go |
| sagara17 | 4:dd76f4ee29fd | 34 | DigitalOut sync6(PTB11, 1);// Board 6 slave select. Initialize to high |
| sagara17 | 3:8e29c3da6961 | 35 | DigitalOut sync7(PTD4, 1);// Board 7 slave select. Initialize to high good to go |
| sagara17 | 3:8e29c3da6961 | 36 | DigitalOut sync8(PTC4, 1); // Board 8 slave select. Initialize to high good to go |
| sagara17 | 3:8e29c3da6961 | 37 | //DigitalOut ldac(PTD7); |
| sagara17 | 3:8e29c3da6961 | 38 | |
| sagara17 | 3:8e29c3da6961 | 39 | unsigned short myData; |
| sagara17 | 3:8e29c3da6961 | 40 | int i, j; |
| sagara17 | 3:8e29c3da6961 | 41 | int runFlag=1; |
| sagara17 | 3:8e29c3da6961 | 42 | string myCommand; |
| sagara17 | 3:8e29c3da6961 | 43 | |
| sagara17 | 3:8e29c3da6961 | 44 | int main() |
| sagara17 | 3:8e29c3da6961 | 45 | { |
| sagara17 | 3:8e29c3da6961 | 46 | pc.printf("\nStarting interface.\n"); |
| sagara17 | 3:8e29c3da6961 | 47 | pc.printf("Enter commands and press TAB to send.\n"); |
| sagara17 | 3:8e29c3da6961 | 48 | pc.printf("Type 'help'+TAB for a list of commands.\n"); |
| sagara17 | 3:8e29c3da6961 | 49 | flashLED( myled); |
| sagara17 | 3:8e29c3da6961 | 50 | dac_port1.format(8,0); //SPI setup for dac chips 8 bit data, mode 1 (falling edge), mode 0 (rising edge, active clock is 1). Max7301A requires rising edge. |
| sagara17 | 3:8e29c3da6961 | 51 | dac_port2.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 52 | dac_port3.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 53 | dac_port4.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 54 | dac_port5.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 55 | dac_port6.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 56 | dac_port7.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 57 | dac_port8.format(8,0); |
| sagara17 | 3:8e29c3da6961 | 58 | dac_port1.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 59 | dac_port2.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 60 | dac_port3.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 61 | dac_port4.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 62 | dac_port5.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 63 | dac_port6.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 64 | dac_port7.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 65 | dac_port8.frequency(100000); |
| sagara17 | 3:8e29c3da6961 | 66 | |
| sagara17 | 3:8e29c3da6961 | 67 | |
| sagara17 | 3:8e29c3da6961 | 68 | //Initialize variable used to select cases |
| sagara17 | 3:8e29c3da6961 | 69 | char cUser; |
| sagara17 | 3:8e29c3da6961 | 70 | while(runFlag) |
| sagara17 | 3:8e29c3da6961 | 71 | { |
| sagara17 | 3:8e29c3da6961 | 72 | if(pc.readable()) |
| sagara17 | 3:8e29c3da6961 | 73 | { |
| sagara17 | 3:8e29c3da6961 | 74 | pc.printf("Entering reading condition"); |
| sagara17 | 3:8e29c3da6961 | 75 | cUser = pc.getc(); |
| sagara17 | 3:8e29c3da6961 | 76 | wait(0.02f); // |
| sagara17 | 3:8e29c3da6961 | 77 | if (cUser== '\t')// \n" |
| sagara17 | 3:8e29c3da6961 | 78 | { |
| sagara17 | 3:8e29c3da6961 | 79 | pc.printf("End of line detected. Parsing command.\n", myCommand.c_str()); |
| sagara17 | 3:8e29c3da6961 | 80 | |
| sagara17 | 3:8e29c3da6961 | 81 | //PARSE COMMANDS |
| sagara17 | 3:8e29c3da6961 | 82 | string delim= " "; |
| sagara17 | 3:8e29c3da6961 | 83 | vector<string> myTokens = tokenize(myCommand, delim); |
| sagara17 | 3:8e29c3da6961 | 84 | |
| sagara17 | 3:8e29c3da6961 | 85 | pc.printf("%d TOKENS FOUND.\n", myTokens.size()); |
| sagara17 | 3:8e29c3da6961 | 86 | pc.printf("TOKENS= "); |
| sagara17 | 3:8e29c3da6961 | 87 | for (int iTk=0; iTk <myTokens.size(); iTk++) |
| sagara17 | 3:8e29c3da6961 | 88 | { |
| sagara17 | 3:8e29c3da6961 | 89 | pc.printf("%s - ", myTokens.at(iTk).c_str()); |
| sagara17 | 3:8e29c3da6961 | 90 | } |
| sagara17 | 3:8e29c3da6961 | 91 | pc.printf("\n"); |
| sagara17 | 3:8e29c3da6961 | 92 | doCommands(myTokens); |
| sagara17 | 3:8e29c3da6961 | 93 | |
| sagara17 | 3:8e29c3da6961 | 94 | |
| sagara17 | 3:8e29c3da6961 | 95 | //RESET WORD |
| sagara17 | 3:8e29c3da6961 | 96 | myCommand= ""; |
| sagara17 | 3:8e29c3da6961 | 97 | } |
| sagara17 | 3:8e29c3da6961 | 98 | else |
| sagara17 | 3:8e29c3da6961 | 99 | { |
| sagara17 | 3:8e29c3da6961 | 100 | myCommand= myCommand+ cUser; |
| sagara17 | 3:8e29c3da6961 | 101 | pc.printf("So far I got: %s\r", myCommand.c_str()); |
| sagara17 | 3:8e29c3da6961 | 102 | } |
| sagara17 | 3:8e29c3da6961 | 103 | } |
| sagara17 | 3:8e29c3da6961 | 104 | |
| sagara17 | 3:8e29c3da6961 | 105 | |
| sagara17 | 3:8e29c3da6961 | 106 | } |
| sagara17 | 3:8e29c3da6961 | 107 | pc.printf("Interface stopped. Press the reset button to start again.\n"); |
| sagara17 | 3:8e29c3da6961 | 108 | wait(1.0f); |
| sagara17 | 3:8e29c3da6961 | 109 | |
| sagara17 | 3:8e29c3da6961 | 110 | } |
| sagara17 | 3:8e29c3da6961 | 111 | |
| sagara17 | 3:8e29c3da6961 | 112 | |
| sagara17 | 3:8e29c3da6961 | 113 | ////////////////////////////////////////// |
| sagara17 | 3:8e29c3da6961 | 114 | std::vector<std::string> tokenize(const std::string& str, const std::string& delim) |
| sagara17 | 3:8e29c3da6961 | 115 | { |
| sagara17 | 3:8e29c3da6961 | 116 | std::vector<std::string> tokens; |
| sagara17 | 3:8e29c3da6961 | 117 | |
| sagara17 | 3:8e29c3da6961 | 118 | size_t pos = 0; |
| sagara17 | 3:8e29c3da6961 | 119 | size_t loc = str.find_first_of(delim, pos); |
| sagara17 | 3:8e29c3da6961 | 120 | |
| sagara17 | 3:8e29c3da6961 | 121 | if (loc == std::string::npos) |
| sagara17 | 3:8e29c3da6961 | 122 | { |
| sagara17 | 3:8e29c3da6961 | 123 | tokens.push_back(str); |
| sagara17 | 3:8e29c3da6961 | 124 | } |
| sagara17 | 3:8e29c3da6961 | 125 | else |
| sagara17 | 3:8e29c3da6961 | 126 | { |
| sagara17 | 3:8e29c3da6961 | 127 | while (pos != std::string::npos) |
| sagara17 | 3:8e29c3da6961 | 128 | { |
| sagara17 | 3:8e29c3da6961 | 129 | tokens.push_back(str.substr(pos, loc - pos)); |
| sagara17 | 3:8e29c3da6961 | 130 | |
| sagara17 | 3:8e29c3da6961 | 131 | pos = (loc == std::string::npos ? loc : loc + 1); |
| sagara17 | 3:8e29c3da6961 | 132 | loc = str.find_first_of(delim, pos); |
| sagara17 | 3:8e29c3da6961 | 133 | } |
| sagara17 | 3:8e29c3da6961 | 134 | } |
| sagara17 | 3:8e29c3da6961 | 135 | return tokens; |
| sagara17 | 3:8e29c3da6961 | 136 | } |
| sagara17 | 3:8e29c3da6961 | 137 | |
| sagara17 | 3:8e29c3da6961 | 138 | ////////////////////////////////////////// |
| sagara17 | 3:8e29c3da6961 | 139 | void doCommands(std::vector<std::string>& tokens) |
| sagara17 | 3:8e29c3da6961 | 140 | { |
| sagara17 | 3:8e29c3da6961 | 141 | // Parse the command tokens |
| sagara17 | 3:8e29c3da6961 | 142 | string firstTk= tokens.at(0); |
| sagara17 | 3:8e29c3da6961 | 143 | if(firstTk == "exit") //Exit condition |
| sagara17 | 3:8e29c3da6961 | 144 | { |
| sagara17 | 3:8e29c3da6961 | 145 | pc.printf("Stopping interface.\n"); |
| sagara17 | 3:8e29c3da6961 | 146 | runFlag=0; |
| sagara17 | 3:8e29c3da6961 | 147 | } |
| sagara17 | 3:8e29c3da6961 | 148 | else if(firstTk == "help") //Help |
| sagara17 | 3:8e29c3da6961 | 149 | { |
| sagara17 | 3:8e29c3da6961 | 150 | pc.printf("Type commands and press TAB to execute them.\n Valid commands are:\n'exit'\n'help'\n'powermode'\n'configure'\n'setport'\n'send'\n'pullallup'\n'pullalldown'\n'pulldown'\n'pullup'"); |
| sagara17 | 3:8e29c3da6961 | 151 | } |
| sagara17 | 3:8e29c3da6961 | 152 | else if(firstTk == "configure")//Send configuration |
| sagara17 | 3:8e29c3da6961 | 153 | { |
| sagara17 | 3:8e29c3da6961 | 154 | pc.printf("Configuring all ports as outputs (low).\n"); |
| sagara17 | 3:8e29c3da6961 | 155 | sendConfiguration(pc, dac_port1, sync1); |
| sagara17 | 3:8e29c3da6961 | 156 | sendConfiguration(pc, dac_port2, sync2); |
| sagara17 | 3:8e29c3da6961 | 157 | sendConfiguration(pc, dac_port3, sync3); |
| sagara17 | 3:8e29c3da6961 | 158 | sendConfiguration(pc, dac_port4, sync4); |
| sagara17 | 3:8e29c3da6961 | 159 | sendConfiguration(pc, dac_port5, sync5); |
| sagara17 | 3:8e29c3da6961 | 160 | sendConfiguration(pc, dac_port6, sync6); |
| sagara17 | 3:8e29c3da6961 | 161 | sendConfiguration(pc, dac_port7, sync7); |
| sagara17 | 3:8e29c3da6961 | 162 | sendConfiguration(pc, dac_port8, sync8); |
| sagara17 | 3:8e29c3da6961 | 163 | pc.printf("Configuration done.\n"); |
| sagara17 | 3:8e29c3da6961 | 164 | } |
| sagara17 | 3:8e29c3da6961 | 165 | else if(firstTk == "powermode")//Set the specific board's power mode (shutdown or active) |
| sagara17 | 3:8e29c3da6961 | 166 | { |
| sagara17 | 3:8e29c3da6961 | 167 | |
| sagara17 | 3:8e29c3da6961 | 168 | if (tokens.size() ==3) |
| sagara17 | 3:8e29c3da6961 | 169 | { |
| sagara17 | 3:8e29c3da6961 | 170 | int brd = atoi(tokens.at(1).c_str()); |
| sagara17 | 3:8e29c3da6961 | 171 | int pMode = atoi(tokens.at(2).c_str()); |
| sagara17 | 3:8e29c3da6961 | 172 | if ((pMode==0) || (pMode==1)) |
| sagara17 | 3:8e29c3da6961 | 173 | { |
| sagara17 | 3:8e29c3da6961 | 174 | if(brd==1) |
| sagara17 | 3:8e29c3da6961 | 175 | { |
| sagara17 | 3:8e29c3da6961 | 176 | powerMode(dac_port1, sync1, pMode); |
| sagara17 | 3:8e29c3da6961 | 177 | pc.printf("Power mode for board 1 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 178 | } |
| sagara17 | 3:8e29c3da6961 | 179 | else if(brd==2) |
| sagara17 | 3:8e29c3da6961 | 180 | { |
| sagara17 | 3:8e29c3da6961 | 181 | powerMode(dac_port2, sync2, pMode); |
| sagara17 | 3:8e29c3da6961 | 182 | pc.printf("Power mode for board 2 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 183 | } |
| sagara17 | 3:8e29c3da6961 | 184 | else if(brd==3) |
| sagara17 | 3:8e29c3da6961 | 185 | { |
| sagara17 | 3:8e29c3da6961 | 186 | powerMode(dac_port3, sync3, pMode); |
| sagara17 | 3:8e29c3da6961 | 187 | pc.printf("Power mode for board 3 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 188 | } |
| sagara17 | 3:8e29c3da6961 | 189 | else if(brd==4) |
| sagara17 | 3:8e29c3da6961 | 190 | { |
| sagara17 | 3:8e29c3da6961 | 191 | powerMode(dac_port4, sync4, pMode); |
| sagara17 | 3:8e29c3da6961 | 192 | pc.printf("Power mode for board 4 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 193 | } |
| sagara17 | 3:8e29c3da6961 | 194 | else if(brd==5) |
| sagara17 | 3:8e29c3da6961 | 195 | { |
| sagara17 | 3:8e29c3da6961 | 196 | powerMode(dac_port5, sync5, pMode); |
| sagara17 | 3:8e29c3da6961 | 197 | pc.printf("Power mode for board 5 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 198 | } |
| sagara17 | 3:8e29c3da6961 | 199 | else if(brd==6) |
| sagara17 | 3:8e29c3da6961 | 200 | { |
| sagara17 | 3:8e29c3da6961 | 201 | powerMode(dac_port6, sync6, pMode); |
| sagara17 | 3:8e29c3da6961 | 202 | pc.printf("Power mode for board 6 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 203 | } |
| sagara17 | 3:8e29c3da6961 | 204 | else if(brd==7) |
| sagara17 | 3:8e29c3da6961 | 205 | { |
| sagara17 | 3:8e29c3da6961 | 206 | powerMode(dac_port7, sync7, pMode); |
| sagara17 | 3:8e29c3da6961 | 207 | pc.printf("Power mode for board 7 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 208 | } |
| sagara17 | 3:8e29c3da6961 | 209 | else if(brd==8) |
| sagara17 | 3:8e29c3da6961 | 210 | { |
| sagara17 | 3:8e29c3da6961 | 211 | powerMode(dac_port8, sync8, pMode); |
| sagara17 | 3:8e29c3da6961 | 212 | pc.printf("Power mode for board 8 = %d.\n", pMode); |
| sagara17 | 3:8e29c3da6961 | 213 | } |
| sagara17 | 3:8e29c3da6961 | 214 | else |
| sagara17 | 3:8e29c3da6961 | 215 | pc.printf("The board number has to be between 1 and 8\n"); |
| sagara17 | 3:8e29c3da6961 | 216 | } |
| sagara17 | 3:8e29c3da6961 | 217 | else |
| sagara17 | 3:8e29c3da6961 | 218 | { |
| sagara17 | 3:8e29c3da6961 | 219 | pc.printf("This function can only accept 0 or 1. You typed %d.\n"); |
| sagara17 | 3:8e29c3da6961 | 220 | } |
| sagara17 | 3:8e29c3da6961 | 221 | } |
| sagara17 | 3:8e29c3da6961 | 222 | else |
| sagara17 | 3:8e29c3da6961 | 223 | { |
| sagara17 | 3:8e29c3da6961 | 224 | pc.printf("Powermode command requires 2 parameters:\ntype 'powermode brdno 1' to power up the MAX6956\ntype 'powermode brdno 0' to shut it down.\n"); |
| sagara17 | 3:8e29c3da6961 | 225 | } |
| sagara17 | 3:8e29c3da6961 | 226 | } |
| sagara17 | 3:8e29c3da6961 | 227 | else if(firstTk == "setport")//Set power mode (shutdown or active) |
| sagara17 | 3:8e29c3da6961 | 228 | { |
| sagara17 | 3:8e29c3da6961 | 229 | if (tokens.size() ==4) |
| sagara17 | 3:8e29c3da6961 | 230 | { |
| sagara17 | 3:8e29c3da6961 | 231 | int brd = atoi(tokens.at(1).c_str()); |
| sagara17 | 3:8e29c3da6961 | 232 | int portN = atoi(tokens.at(2).c_str()); |
| sagara17 | 3:8e29c3da6961 | 233 | int portState = atoi(tokens.at(3).c_str()); |
| sagara17 | 3:8e29c3da6961 | 234 | //int toWrite=0; |
| sagara17 | 3:8e29c3da6961 | 235 | if (((portN > 11)&&(portN < 32))&&((portState==0) || (portState==1))) |
| sagara17 | 3:8e29c3da6961 | 236 | { |
| sagara17 | 3:8e29c3da6961 | 237 | if(brd==1) |
| sagara17 | 3:8e29c3da6961 | 238 | { |
| sagara17 | 3:8e29c3da6961 | 239 | pc.printf("Setting port %d to %d for board 1.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 240 | setPort(dac_port1, sync1, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 241 | } |
| sagara17 | 3:8e29c3da6961 | 242 | else if(brd==2) |
| sagara17 | 3:8e29c3da6961 | 243 | { |
| sagara17 | 3:8e29c3da6961 | 244 | pc.printf("Setting port %d to %d for board 2.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 245 | setPort(dac_port2, sync2, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 246 | } |
| sagara17 | 3:8e29c3da6961 | 247 | else if(brd==3) |
| sagara17 | 3:8e29c3da6961 | 248 | { |
| sagara17 | 3:8e29c3da6961 | 249 | pc.printf("Setting port %d to %d for board 3.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 250 | setPort(dac_port3, sync3, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 251 | } |
| sagara17 | 3:8e29c3da6961 | 252 | else if(brd==4) |
| sagara17 | 3:8e29c3da6961 | 253 | { |
| sagara17 | 3:8e29c3da6961 | 254 | pc.printf("Setting port %d to %d for board 4.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 255 | setPort(dac_port4, sync4, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 256 | } |
| sagara17 | 3:8e29c3da6961 | 257 | else if(brd==5) |
| sagara17 | 3:8e29c3da6961 | 258 | { |
| sagara17 | 3:8e29c3da6961 | 259 | pc.printf("Setting port %d to %d for board 5.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 260 | setPort(dac_port5, sync5, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 261 | } |
| sagara17 | 3:8e29c3da6961 | 262 | else if(brd==6) |
| sagara17 | 3:8e29c3da6961 | 263 | { |
| sagara17 | 3:8e29c3da6961 | 264 | pc.printf("Setting port %d to %d for board 6.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 265 | setPort(dac_port6, sync6, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 266 | } |
| sagara17 | 3:8e29c3da6961 | 267 | else if(brd==7) |
| sagara17 | 3:8e29c3da6961 | 268 | { |
| sagara17 | 3:8e29c3da6961 | 269 | pc.printf("Setting port %d to %d for board 7.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 270 | setPort(dac_port7, sync7, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 271 | } |
| sagara17 | 3:8e29c3da6961 | 272 | else if(brd==8) |
| sagara17 | 3:8e29c3da6961 | 273 | { |
| sagara17 | 3:8e29c3da6961 | 274 | pc.printf("Setting port %d to %d for board 8.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 275 | setPort(dac_port8, sync8, portN, portState); |
| sagara17 | 3:8e29c3da6961 | 276 | } |
| sagara17 | 3:8e29c3da6961 | 277 | else |
| sagara17 | 3:8e29c3da6961 | 278 | pc.printf("The board number has to be between 1 and 8\n"); |
| sagara17 | 3:8e29c3da6961 | 279 | //toWrite=(portN + 0x0020)*0x0100 + portState; |
| sagara17 | 3:8e29c3da6961 | 280 | //pc.printf("WORD %d (0x%04x)\n", toWrite, toWrite); |
| sagara17 | 3:8e29c3da6961 | 281 | } |
| sagara17 | 3:8e29c3da6961 | 282 | else |
| sagara17 | 3:8e29c3da6961 | 283 | { |
| sagara17 | 3:8e29c3da6961 | 284 | pc.printf("Valid ports number: 12 - 31. Valid status: 0 - 1. You typed port %d state %d.\n", portN, portState); |
| sagara17 | 3:8e29c3da6961 | 285 | } |
| sagara17 | 3:8e29c3da6961 | 286 | |
| sagara17 | 3:8e29c3da6961 | 287 | } |
| sagara17 | 3:8e29c3da6961 | 288 | else |
| sagara17 | 3:8e29c3da6961 | 289 | { |
| sagara17 | 3:8e29c3da6961 | 290 | pc.printf("Setport requires 3 parameters:\ntype 'setport 5 21 1' to set port 21 on board 5 as 'high'\ntype 'setport 5 21 0' to set it 'low'.\nThis command assumes that the port is already configured as output.\n"); |
| sagara17 | 3:8e29c3da6961 | 291 | } |
| sagara17 | 3:8e29c3da6961 | 292 | } |
| sagara17 | 3:8e29c3da6961 | 293 | else if(firstTk=="pullallup") |
| sagara17 | 3:8e29c3da6961 | 294 | { |
| sagara17 | 3:8e29c3da6961 | 295 | if (tokens.size() ==1) |
| sagara17 | 3:8e29c3da6961 | 296 | { |
| sagara17 | 3:8e29c3da6961 | 297 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 298 | { |
| sagara17 | 3:8e29c3da6961 | 299 | setPort(dac_port1, sync1, a, 1); |
| sagara17 | 3:8e29c3da6961 | 300 | setPort(dac_port2, sync2, a, 1); |
| sagara17 | 3:8e29c3da6961 | 301 | setPort(dac_port3, sync3, a, 1); |
| sagara17 | 3:8e29c3da6961 | 302 | setPort(dac_port4, sync4, a, 1); |
| sagara17 | 3:8e29c3da6961 | 303 | setPort(dac_port5, sync5, a, 1); |
| sagara17 | 3:8e29c3da6961 | 304 | setPort(dac_port6, sync6, a, 1); |
| sagara17 | 3:8e29c3da6961 | 305 | setPort(dac_port7, sync7, a, 1); |
| sagara17 | 3:8e29c3da6961 | 306 | setPort(dac_port8, sync8, a, 1); |
| sagara17 | 3:8e29c3da6961 | 307 | } |
| sagara17 | 3:8e29c3da6961 | 308 | pc.printf("Pulling all ports up in boards 1 to 8.\n"); |
| sagara17 | 3:8e29c3da6961 | 309 | } |
| sagara17 | 3:8e29c3da6961 | 310 | else |
| sagara17 | 3:8e29c3da6961 | 311 | pc.printf("pullallup does not take any arguments. It pulls all ports up in all the boards.\n"); |
| sagara17 | 3:8e29c3da6961 | 312 | } |
| sagara17 | 3:8e29c3da6961 | 313 | else if(firstTk=="pullup") |
| sagara17 | 3:8e29c3da6961 | 314 | { |
| sagara17 | 3:8e29c3da6961 | 315 | if(tokens.size() ==2) |
| sagara17 | 3:8e29c3da6961 | 316 | { |
| sagara17 | 3:8e29c3da6961 | 317 | int brd = atoi(tokens.at(1).c_str()); |
| sagara17 | 3:8e29c3da6961 | 318 | if(brd==1) |
| sagara17 | 3:8e29c3da6961 | 319 | { |
| sagara17 | 3:8e29c3da6961 | 320 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 321 | setPort(dac_port1, sync1, a, 1); |
| sagara17 | 3:8e29c3da6961 | 322 | pc.printf("Pulling all ports up in board 1.\n"); |
| sagara17 | 3:8e29c3da6961 | 323 | } |
| sagara17 | 3:8e29c3da6961 | 324 | else if(brd==2) |
| sagara17 | 3:8e29c3da6961 | 325 | { |
| sagara17 | 3:8e29c3da6961 | 326 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 327 | setPort(dac_port2, sync2, a, 1); |
| sagara17 | 3:8e29c3da6961 | 328 | pc.printf("Pulling all ports up in board 2.\n"); |
| sagara17 | 3:8e29c3da6961 | 329 | } |
| sagara17 | 3:8e29c3da6961 | 330 | else if(brd==3) |
| sagara17 | 3:8e29c3da6961 | 331 | { |
| sagara17 | 3:8e29c3da6961 | 332 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 333 | setPort(dac_port3, sync3, a, 1); |
| sagara17 | 3:8e29c3da6961 | 334 | pc.printf("Pulling all ports up in board 3.\n"); |
| sagara17 | 3:8e29c3da6961 | 335 | } |
| sagara17 | 3:8e29c3da6961 | 336 | else if(brd==4) |
| sagara17 | 3:8e29c3da6961 | 337 | { |
| sagara17 | 3:8e29c3da6961 | 338 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 339 | setPort(dac_port4, sync4, a, 1); |
| sagara17 | 3:8e29c3da6961 | 340 | pc.printf("Pulling all ports up in board 4.\n"); |
| sagara17 | 3:8e29c3da6961 | 341 | } |
| sagara17 | 3:8e29c3da6961 | 342 | else if(brd==5) |
| sagara17 | 3:8e29c3da6961 | 343 | { |
| sagara17 | 3:8e29c3da6961 | 344 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 345 | setPort(dac_port5, sync5, a, 1); |
| sagara17 | 3:8e29c3da6961 | 346 | pc.printf("Pulling all ports up in board 5.\n"); |
| sagara17 | 3:8e29c3da6961 | 347 | } |
| sagara17 | 3:8e29c3da6961 | 348 | else if(brd==6) |
| sagara17 | 3:8e29c3da6961 | 349 | { |
| sagara17 | 3:8e29c3da6961 | 350 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 351 | setPort(dac_port6, sync6, a, 1); |
| sagara17 | 3:8e29c3da6961 | 352 | pc.printf("Pulling all ports up in board 6.\n"); |
| sagara17 | 3:8e29c3da6961 | 353 | } |
| sagara17 | 3:8e29c3da6961 | 354 | else if(brd==7) |
| sagara17 | 3:8e29c3da6961 | 355 | { |
| sagara17 | 3:8e29c3da6961 | 356 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 357 | setPort(dac_port7, sync7, a, 1); |
| sagara17 | 3:8e29c3da6961 | 358 | pc.printf("Pulling all ports up in board 7.\n"); |
| sagara17 | 3:8e29c3da6961 | 359 | } |
| sagara17 | 3:8e29c3da6961 | 360 | else if(brd==8) |
| sagara17 | 3:8e29c3da6961 | 361 | { |
| sagara17 | 3:8e29c3da6961 | 362 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 363 | setPort(dac_port8, sync8, a, 1); |
| sagara17 | 3:8e29c3da6961 | 364 | pc.printf("Pulling all ports up in board 8.\n"); |
| sagara17 | 3:8e29c3da6961 | 365 | } |
| sagara17 | 3:8e29c3da6961 | 366 | else |
| sagara17 | 3:8e29c3da6961 | 367 | pc.printf("The board number has to be between 1 and 8.\n"); |
| sagara17 | 3:8e29c3da6961 | 368 | } |
| sagara17 | 3:8e29c3da6961 | 369 | else |
| sagara17 | 3:8e29c3da6961 | 370 | pc.printf("pulldown can take only 1 argument. pullup 6 pulls all ports up in board 6.\n"); |
| sagara17 | 3:8e29c3da6961 | 371 | } |
| sagara17 | 3:8e29c3da6961 | 372 | else if(firstTk=="pullalldown") |
| sagara17 | 3:8e29c3da6961 | 373 | { |
| sagara17 | 3:8e29c3da6961 | 374 | if (tokens.size() ==1) |
| sagara17 | 3:8e29c3da6961 | 375 | { |
| sagara17 | 3:8e29c3da6961 | 376 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 377 | { |
| sagara17 | 3:8e29c3da6961 | 378 | setPort(dac_port1, sync1, a, 0); |
| sagara17 | 3:8e29c3da6961 | 379 | setPort(dac_port2, sync2, a, 0); |
| sagara17 | 3:8e29c3da6961 | 380 | setPort(dac_port3, sync3, a, 0); |
| sagara17 | 3:8e29c3da6961 | 381 | setPort(dac_port4, sync4, a, 0); |
| sagara17 | 3:8e29c3da6961 | 382 | setPort(dac_port5, sync5, a, 0); |
| sagara17 | 3:8e29c3da6961 | 383 | setPort(dac_port6, sync6, a, 0); |
| sagara17 | 3:8e29c3da6961 | 384 | setPort(dac_port7, sync7, a, 0); |
| sagara17 | 3:8e29c3da6961 | 385 | setPort(dac_port8, sync8, a, 0); |
| sagara17 | 3:8e29c3da6961 | 386 | } |
| sagara17 | 3:8e29c3da6961 | 387 | pc.printf("Pulling all ports down in boards 1 to 8.\n"); |
| sagara17 | 3:8e29c3da6961 | 388 | } |
| sagara17 | 3:8e29c3da6961 | 389 | else |
| sagara17 | 3:8e29c3da6961 | 390 | pc.printf("pullalldown does not take any arguments. It pulls all ports down in all the boards.\n"); |
| sagara17 | 3:8e29c3da6961 | 391 | } |
| sagara17 | 3:8e29c3da6961 | 392 | else if(firstTk=="pulldown") |
| sagara17 | 3:8e29c3da6961 | 393 | { |
| sagara17 | 3:8e29c3da6961 | 394 | if(tokens.size() ==2) |
| sagara17 | 3:8e29c3da6961 | 395 | { |
| sagara17 | 3:8e29c3da6961 | 396 | int brd = atoi(tokens.at(1).c_str()); |
| sagara17 | 3:8e29c3da6961 | 397 | if(brd==1) |
| sagara17 | 3:8e29c3da6961 | 398 | { |
| sagara17 | 3:8e29c3da6961 | 399 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 400 | setPort(dac_port1, sync1, a, 0); |
| sagara17 | 3:8e29c3da6961 | 401 | pc.printf("Pulling all ports down in board 1.\n"); |
| sagara17 | 3:8e29c3da6961 | 402 | } |
| sagara17 | 3:8e29c3da6961 | 403 | else if(brd==2) |
| sagara17 | 3:8e29c3da6961 | 404 | { |
| sagara17 | 3:8e29c3da6961 | 405 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 406 | setPort(dac_port2, sync2, a, 0); |
| sagara17 | 3:8e29c3da6961 | 407 | pc.printf("Pulling all ports down in board 2.\n"); |
| sagara17 | 3:8e29c3da6961 | 408 | } |
| sagara17 | 3:8e29c3da6961 | 409 | else if(brd==3) |
| sagara17 | 3:8e29c3da6961 | 410 | { |
| sagara17 | 3:8e29c3da6961 | 411 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 412 | setPort(dac_port3, sync3, a, 0); |
| sagara17 | 3:8e29c3da6961 | 413 | pc.printf("Pulling all ports down in board 3.\n"); |
| sagara17 | 3:8e29c3da6961 | 414 | } |
| sagara17 | 3:8e29c3da6961 | 415 | else if(brd==4) |
| sagara17 | 3:8e29c3da6961 | 416 | { |
| sagara17 | 3:8e29c3da6961 | 417 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 418 | setPort(dac_port4, sync4, a, 0); |
| sagara17 | 3:8e29c3da6961 | 419 | pc.printf("Pulling all ports down in board 4.\n"); |
| sagara17 | 3:8e29c3da6961 | 420 | } |
| sagara17 | 3:8e29c3da6961 | 421 | else if(brd==5) |
| sagara17 | 3:8e29c3da6961 | 422 | { |
| sagara17 | 3:8e29c3da6961 | 423 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 424 | setPort(dac_port5, sync5, a, 0); |
| sagara17 | 3:8e29c3da6961 | 425 | pc.printf("Pulling all ports down in board 5.\n"); |
| sagara17 | 3:8e29c3da6961 | 426 | } |
| sagara17 | 3:8e29c3da6961 | 427 | else if(brd==6) |
| sagara17 | 3:8e29c3da6961 | 428 | { |
| sagara17 | 3:8e29c3da6961 | 429 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 430 | setPort(dac_port6, sync6, a, 0); |
| sagara17 | 3:8e29c3da6961 | 431 | pc.printf("Pulling all ports down in board 6.\n"); |
| sagara17 | 3:8e29c3da6961 | 432 | } |
| sagara17 | 3:8e29c3da6961 | 433 | else if(brd==7) |
| sagara17 | 3:8e29c3da6961 | 434 | { |
| sagara17 | 3:8e29c3da6961 | 435 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 436 | setPort(dac_port7, sync7, a, 0); |
| sagara17 | 3:8e29c3da6961 | 437 | pc.printf("Pulling all ports down in board 7.\n"); |
| sagara17 | 3:8e29c3da6961 | 438 | } |
| sagara17 | 3:8e29c3da6961 | 439 | else if(brd==8) |
| sagara17 | 3:8e29c3da6961 | 440 | { |
| sagara17 | 3:8e29c3da6961 | 441 | for(int a=12;a<=31;a++) |
| sagara17 | 3:8e29c3da6961 | 442 | setPort(dac_port8, sync8, a, 0); |
| sagara17 | 3:8e29c3da6961 | 443 | pc.printf("Pulling all ports down in board 8.\n"); |
| sagara17 | 3:8e29c3da6961 | 444 | } |
| sagara17 | 3:8e29c3da6961 | 445 | else |
| sagara17 | 3:8e29c3da6961 | 446 | pc.printf("The board number has to be between 1 and 8.\n"); |
| sagara17 | 3:8e29c3da6961 | 447 | } |
| sagara17 | 3:8e29c3da6961 | 448 | else |
| sagara17 | 3:8e29c3da6961 | 449 | pc.printf("pulldown can take only 1 argument. pulldown 6 pulls all ports down in board 6.\n\n"); |
| sagara17 | 3:8e29c3da6961 | 450 | } |
| sagara17 | 3:8e29c3da6961 | 451 | else if(firstTk == "send") |
| sagara17 | 3:8e29c3da6961 | 452 | { |
| sagara17 | 3:8e29c3da6961 | 453 | if (tokens.size() ==3) |
| sagara17 | 3:8e29c3da6961 | 454 | { |
| sagara17 | 3:8e29c3da6961 | 455 | int brd = atoi(tokens.at(1).c_str()); |
| sagara17 | 3:8e29c3da6961 | 456 | int myWord=0; |
| sagara17 | 3:8e29c3da6961 | 457 | myWord= strtol(tokens.at(2).c_str(), NULL, 16); |
| sagara17 | 3:8e29c3da6961 | 458 | pc.printf("WORD %d (0x%04x)\n", myWord, myWord); |
| sagara17 | 3:8e29c3da6961 | 459 | if(brd==1) |
| sagara17 | 3:8e29c3da6961 | 460 | { |
| sagara17 | 3:8e29c3da6961 | 461 | mySPISend(myWord, dac_port1, sync1); |
| sagara17 | 3:8e29c3da6961 | 462 | } |
| sagara17 | 3:8e29c3da6961 | 463 | else if(brd==2) |
| sagara17 | 3:8e29c3da6961 | 464 | { |
| sagara17 | 3:8e29c3da6961 | 465 | mySPISend(myWord, dac_port2, sync2); |
| sagara17 | 3:8e29c3da6961 | 466 | } |
| sagara17 | 3:8e29c3da6961 | 467 | else if(brd==3) |
| sagara17 | 3:8e29c3da6961 | 468 | { |
| sagara17 | 3:8e29c3da6961 | 469 | mySPISend(myWord, dac_port3, sync3); |
| sagara17 | 3:8e29c3da6961 | 470 | } |
| sagara17 | 3:8e29c3da6961 | 471 | else if(brd==4) |
| sagara17 | 3:8e29c3da6961 | 472 | { |
| sagara17 | 3:8e29c3da6961 | 473 | mySPISend(myWord, dac_port4, sync4); |
| sagara17 | 3:8e29c3da6961 | 474 | } |
| sagara17 | 3:8e29c3da6961 | 475 | else if(brd==5) |
| sagara17 | 3:8e29c3da6961 | 476 | { |
| sagara17 | 3:8e29c3da6961 | 477 | mySPISend(myWord, dac_port5, sync5); |
| sagara17 | 3:8e29c3da6961 | 478 | } |
| sagara17 | 3:8e29c3da6961 | 479 | else if(brd==6) |
| sagara17 | 3:8e29c3da6961 | 480 | { |
| sagara17 | 3:8e29c3da6961 | 481 | mySPISend(myWord, dac_port6, sync6); |
| sagara17 | 3:8e29c3da6961 | 482 | } |
| sagara17 | 3:8e29c3da6961 | 483 | else if(brd==7) |
| sagara17 | 3:8e29c3da6961 | 484 | { |
| sagara17 | 3:8e29c3da6961 | 485 | mySPISend(myWord, dac_port7, sync7); |
| sagara17 | 3:8e29c3da6961 | 486 | } |
| sagara17 | 3:8e29c3da6961 | 487 | else if(brd==8) |
| sagara17 | 3:8e29c3da6961 | 488 | { |
| sagara17 | 3:8e29c3da6961 | 489 | mySPISend(myWord, dac_port8, sync8); |
| sagara17 | 3:8e29c3da6961 | 490 | } |
| sagara17 | 3:8e29c3da6961 | 491 | else |
| sagara17 | 3:8e29c3da6961 | 492 | pc.printf("The board number has to be between 1 and 8\n"); |
| sagara17 | 3:8e29c3da6961 | 493 | } |
| sagara17 | 3:8e29c3da6961 | 494 | else |
| sagara17 | 3:8e29c3da6961 | 495 | { |
| sagara17 | 3:8e29c3da6961 | 496 | pc.printf("Send requires a board number and a hex word parameter.\ntype 'send 3 XXXX' to send the word (x must be a hex value) to board 3.\n"); |
| sagara17 | 3:8e29c3da6961 | 497 | } |
| sagara17 | 3:8e29c3da6961 | 498 | } |
| sagara17 | 3:8e29c3da6961 | 499 | else if(firstTk == "read") |
| sagara17 | 3:8e29c3da6961 | 500 | { |
| sagara17 | 3:8e29c3da6961 | 501 | if (tokens.size() ==3) |
| sagara17 | 3:8e29c3da6961 | 502 | { |
| sagara17 | 3:8e29c3da6961 | 503 | int brd = atoi(tokens.at(1).c_str()); |
| sagara17 | 3:8e29c3da6961 | 504 | int myWord=0; |
| sagara17 | 3:8e29c3da6961 | 505 | myWord= strtol(tokens.at(2).c_str(), NULL, 16); |
| sagara17 | 3:8e29c3da6961 | 506 | pc.printf("WORD %d (0x%04x)\n", myWord, myWord); |
| sagara17 | 3:8e29c3da6961 | 507 | if(brd==1) |
| sagara17 | 3:8e29c3da6961 | 508 | mySPIRead(pc, myWord, dac_port1, sync1); |
| sagara17 | 3:8e29c3da6961 | 509 | else if(brd==2) |
| sagara17 | 3:8e29c3da6961 | 510 | mySPIRead(pc, myWord, dac_port2, sync2); |
| sagara17 | 3:8e29c3da6961 | 511 | else if(brd==3) |
| sagara17 | 3:8e29c3da6961 | 512 | mySPIRead(pc, myWord, dac_port3, sync3); |
| sagara17 | 3:8e29c3da6961 | 513 | else if(brd==4) |
| sagara17 | 3:8e29c3da6961 | 514 | mySPIRead(pc, myWord, dac_port4, sync4); |
| sagara17 | 3:8e29c3da6961 | 515 | else if(brd==5) |
| sagara17 | 3:8e29c3da6961 | 516 | mySPIRead(pc, myWord, dac_port5, sync5); |
| sagara17 | 3:8e29c3da6961 | 517 | else if(brd==6) |
| sagara17 | 3:8e29c3da6961 | 518 | mySPIRead(pc, myWord, dac_port6, sync6); |
| sagara17 | 3:8e29c3da6961 | 519 | else if(brd==7) |
| sagara17 | 3:8e29c3da6961 | 520 | mySPIRead(pc, myWord, dac_port7, sync7); |
| sagara17 | 3:8e29c3da6961 | 521 | else if(brd==8) |
| sagara17 | 3:8e29c3da6961 | 522 | mySPIRead(pc, myWord, dac_port8, sync8); |
| sagara17 | 3:8e29c3da6961 | 523 | else |
| sagara17 | 3:8e29c3da6961 | 524 | pc.printf("The board number has to be between 1 and 8\n"); |
| sagara17 | 3:8e29c3da6961 | 525 | |
| sagara17 | 3:8e29c3da6961 | 526 | } |
| sagara17 | 3:8e29c3da6961 | 527 | else |
| sagara17 | 3:8e29c3da6961 | 528 | { |
| sagara17 | 3:8e29c3da6961 | 529 | pc.printf("Read requires a board number and a hex word parameter.\ntype 'send XXXX' to send the word (x must be a hex value).\n"); |
| sagara17 | 3:8e29c3da6961 | 530 | } |
| sagara17 | 3:8e29c3da6961 | 531 | } |
| sagara17 | 3:8e29c3da6961 | 532 | |
| sagara17 | 3:8e29c3da6961 | 533 | } |