5 BusOut bus_out(LED1, LED2, LED3, LED4);
6 PinName led_pins[4] = {LED1, LED2, LED3, LED4}; // Temp, used to map pins in bus_out
16 const int mask = bus_out.mask();
18 if (LED1 != NC) led_mask |= 0x01;
19 if (LED2 != NC) led_mask |= 0x02;
20 if (LED3 != NC) led_mask |= 0x04;
21 if (LED4 != NC) led_mask |= 0x08;
23 printf("MBED: BusIn mask: 0x%X\r\n", mask);
24 printf("MBED: BusIn LED mask: 0x%X\r\n", led_mask);
26 // Let's check bus's connected pins mask
27 if (mask != led_mask) {
31 // Checking if DigitalOut is correctly set as connected
32 for (int i=0; i < 4; i++) {
33 printf("MBED: BusOut.bit[%d] is %s\r\n",
35 (led_pins[i] != NC && bus_out[i].is_connected())
40 for (int i=0; i < 4; i++) {
41 if (led_pins[i] != NC && bus_out[0].is_connected() == 0) {
46 // Write mask all LEDs
47 bus_out.write(mask); // Set all LED's pins in high state
48 if (bus_out.read() != mask) {
51 // Zero all LEDs and see if mask is correctly cleared on all bits
53 if (bus_out.read() != 0x00) {
61 printf("MBED: Blinking LEDs: \r\n");
63 // Just a quick LED blinking...
64 for (int i=0; i<4; i++) {
65 if (led_pins[i] != NC && bus_out[i].is_connected()) {
67 printf("%c", 'A' + i);
72 if (led_pins[i] != NC && bus_out[i].is_connected()) {
74 printf("%c", 'a' + i);
81 notify_completion(result);