Changes for page Front I/O
Last modified by Kevin Wiki on 2024/07/07 22:48
From version
7.5
edited by Kevin Wiki
on 2024/07/05 10:29
on 2024/07/05 10:29
Change comment:
There is no comment for this version
To version
7.4
edited by Kevin Wiki
on 2024/07/05 10:16
on 2024/07/05 10:16
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -216,55 +216,13 @@ 216 216 * fan LED (red & green) 217 217 * temperature LED (red & green) 218 218 * compute LED (unknown) 219 -* lock switch 220 220 221 -Each side sbank of LEDsaredriven by each their PCA9554 shift register. The registers represent the following LEDs: (Note that Lock LED is only present for the LEFT side)220 +Each side is driven by each their PCA9554 shift register. The registers represent the following LEDs: (Note that Lock LED is only present for the LEFT side) 222 222 223 223 |=(% scope="row" %)Register|1|2|3|4|5|6|7 224 224 |=Device|Power LED Green|Power LED Red|Fan LED Green|Fan LED Red|Temperature LED Green|Temperature LED Red|Lock LED 225 225 226 226 To control each LED we shift either a 0 to turn off or 1 to turn on. Since each device shares a single red/green LED (power LED green & power LED red) setting both to 1 at the same time will always leave it red. That is when power LED green and power LED red are both enabled, red always takes precedence. 227 - 228 -Use following script to power LEDs one at a time: 229 - 230 -{{code language="c++"}} 231 -#include <PCA9554.h> // Load the PCA9554 Library 232 - 233 -PCA9554 ioCon1(0x24); // Create an object at this address 234 - 235 -uint8_t mapIO = 0b10000000; 236 - 237 -void shiftL() { 238 - mapIO = (mapIO << 1) | ((mapIO & 0x80) >> 7); 239 -} 240 - 241 -void write() { 242 - Serial.println("writing to PCA9554 device"); 243 - 244 - for (int i = 0; i < 8; ++i) { 245 - ioCon1.digitalWrite(i, (mapIO & (1 << i)) ? 0 : 1); 246 - } 247 -} 248 - 249 -void setup() 250 -{ 251 - Serial.begin(9600); 252 - Serial.println("Setup"); 253 - 254 - ioCon1.portMode(ALLOUTPUT); 255 -} 256 - 257 -void loop() 258 -{ 259 - write(); 260 - shiftL(); 261 - 262 - delay(500); 263 -} 264 -{{/code}} 265 - 266 - 267 - 268 268 ))) 269 269 270 270