Difference between revisions of "Kurobox Pro Microcomputer Communication Specifications"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m (New page: KURO BOX/PRO Microcomputer Communication Specifications Rev.1.0 =Functions= ==Overview of Functions== Communicates with the main CPU via UART. The main functions are shown below. * ...)
 
m (Main CPU -> Microcomputer)
Line 34: Line 34:
 
===Main CPU -> Microcomputer ===
 
===Main CPU -> Microcomputer ===
  
Data Payload 0 Bytes  
+
<b>Data Payload 0 Bytes</b>
 
{|class=wikitable
 
{|class=wikitable
 
|-
 
|-
Line 46: Line 46:
 
||3 || Parity 0-(byte1+byte2)  
 
||3 || Parity 0-(byte1+byte2)  
 
|}
 
|}
Data Payload n bytes  
+
 
1 Transfer  
+
<b>Data Payload n bytes</b>
 +
{|class=wikitable
 +
|-
 +
||1 || Transfer  
 
direction  
 
direction  
 
(BIT7)  
 
(BIT7)  
Data payload ()  
+
||Data payload ()  
2 Command  
+
|-
3 Data 0  
+
||2|| Command  
 +
|-
 +
||3|| Data 0  
 +
|-
 +
|| ||•<br>
 +
• <br>
 +
• <br>
 
•  
 
•  
+
|-
+
||n-1 ||Data n  
+
|-
n-1 Data n  
+
||n || Parity 0 - Σ(byte 1 to byte n-1)
n Parity 0 - Σ(byte 1 to byte n-1)
+
|}
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
 
6/16
+
===Microcomputer -> Main CPU===
3.3.3. Microcomputer -> Main CPU  
+
<b>Responses to commands other than the read command (when data does not  
Responses to commands other than the read command (when data does not  
+
exist)</b>
exist)  
+
{|class=wikitable
1 0  
+
|-
(BIT7) Data payload (1)  
+
||1 || 0  
2 Sent command  
+
(BIT7) || Data payload (1)  
3 ACK  
+
|-
4 Parity 0-(byte1+byte2+byte3)  
+
||2 ||Sent command  
Response to read command  
+
|-
1 0  
+
||3 ||ACK  
(BIT7) Data payload (N)  
+
|-
2 Sent command  
+
||4 ||Parity 0-(byte1+byte2+byte3)  
3 Data 1  
+
|}
n-1 Data N  
+
 
n Parity 0 - Σ(byte 1 to byte n-1)  
+
<b>Response to read command</b>
Response when communication error occurs  
+
{|class=wikitable
1 0  
+
|-
(BIT7) Data payload (1)  
+
||1 ||0  
2 Sent command  
+
(BIT7) ||Data payload (N)  
3 NACK  
+
|-
4 Parity 0-(byte1+byte2+byte3)  
+
||2 ||Sent command  
3.4. ACK/NACK List  
+
|-
 +
||3 ||Data 1  
 +
|-
 +
||n-1 ||Data N  
 +
|-
 +
||n ||Parity 0 - Σ(byte 1 to byte n-1)  
 +
|}
 +
 
 +
<b>Response when communication error occurs</b>
 +
{|class=wikitable
 +
|-
 +
||1 ||0  
 +
(BIT7) ||Data payload (1)  
 +
|-
 +
||2 ||Sent command  
 +
|-
 +
||3 ||NACK  
 +
|-
 +
||4 ||Parity 0-(byte1+byte2+byte3)  
 +
|}
 +
 
 +
==ACK/NACK List==
 
HEX mnemonic  
 
HEX mnemonic  
 
0x00 ACK Good  
 
0x00 ACK Good  
Line 96: Line 126:
 
0xF6 RX_BUFF_OVER Payload larger than 32 bytes specified.  
 
0xF6 RX_BUFF_OVER Payload larger than 32 bytes specified.  
 
0xF7 DATA_PARITY_ERROR Data parity is wrong.
 
0xF7 DATA_PARITY_ERROR Data parity is wrong.
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
 
7/16
+
 
3.4.1. Write Command  
+
===Write Command===
 
LED Lighting control etc  
 
LED Lighting control etc  
 
Command  
 
Command  
Line 119: Line 149:
 
Command 2nd byte  
 
Command 2nd byte  
 
PARITY
 
PARITY
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
 
8/16
+
===Read Command===
3.4.2. Read Command  
+
 
Temperature read by CPU  
 
Temperature read by CPU  
 
DATA0  
 
DATA0  
Line 138: Line 167:
 
command  
 
command  
 
phase
 
phase
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
 
9/16
+
===Interrupt + Read Command===
3.4.3. Interrupt + Read Command  
+
 
SW  
 
SW  
 
Micro-  
 
Micro-  
Line 160: Line 188:
 
Command  
 
Command  
 
CPU
 
CPU
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
 
10/16
+
 
3.5. Command  
+
==Command==
3.5.1. Command Construction  
+
===Command Construction===
 
The command is a 2 byte command.  
 
The command is a 2 byte command.  
 
Write (CPU -> Microcomputer)  
 
Write (CPU -> Microcomputer)  
Line 175: Line 203:
 
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0  
 
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0  
 
OPCODE  
 
OPCODE  
 +
 +
 
Command List  
 
Command List  
3.5.2. Commands with no data payload  
+
===Commands with no data payload===
 
Command  
 
Command  
 
1Byte 2Byte Commandname Microcomputer operation  
 
1Byte 2Byte Commandname Microcomputer operation  
Line 195: Line 225:
 
0x00 0x0E REBOOT REBOOT (system reset) start
 
0x00 0x0E REBOOT REBOOT (system reset) start
 
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0  
 
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0  
11/16
+
 
3.5.3. Data Payload 1 Byte Command  
+
===Data Payload 1 Byte Command===
 
0x01  
 
0x01  
 
-------- 0x30 BZ_ON Buzzer sounds.Buzzer control, with fine selection of  
 
-------- 0x30 BZ_ON Buzzer sounds.Buzzer control, with fine selection of  
Line 217: Line 247:
 
0x80 0x3b HDD_POWER Controls the HDD power supply  
 
0x80 0x3b HDD_POWER Controls the HDD power supply  
 
0x80 0x3c MAIN_STATUS Obtains the STATUS of the microcomputer  
 
0x80 0x3c MAIN_STATUS Obtains the STATUS of the microcomputer  
3.5.4. Data Payload 2 Byte Command  
+
 
 +
 
 +
===Data Payload 2 Byte Command===
 +
 
 
0x02  
 
0x02  
 
0x80 0x50 LED_CPU_MCON Switches LED between main CPU controland microcomputer control.  
 
0x80 0x50 LED_CPU_MCON Switches LED between main CPU controland microcomputer control.  
Line 231: Line 264:
 
0x80  
 
0x80  
 
0x54 LED_PATTERN Controls LED flashing
 
0x54 LED_PATTERN Controls LED flashing
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
 
12/16
+
==Buzzer ON/OFF==
3.6. Buzzer ON/OFF  
+
===Command===
3.6.1. Command  
+
 
0×01 First operand read 0×80  
 
0×01 First operand read 0×80  
 
0×30 Second operand  
 
0×30 Second operand  
3.6.2. Data  
+
====Data===
 
0×00 Stop the sound  
 
0×00 Stop the sound  
 
0×01  [Pi-po]  
 
0×01  [Pi-po]  
Line 245: Line 277:
 
0×10  Repeats sounding for 0.5 seconds then stopping for 0.3 seconds.  
 
0×10  Repeats sounding for 0.5 seconds then stopping for 0.3 seconds.  
 
0×20  [Pi-po-pa-po]  
 
0×20  [Pi-po-pa-po]  
3.7. Buzzer pitch  
+
==Buzzer pitch==
3.7.1. Command  
+
===Command===
 
0×02 First operand setting  
 
0×02 First operand setting  
 
0×80 First operand reading of settings.  
 
0×80 First operand reading of settings.  
 
0×53 Second operand  
 
0×53 Second operand  
3.7.2. Data 0  
+
===Data 0===
 
Frequency settings lower order  
 
Frequency settings lower order  
3.7.3. Data 1  
+
===Data 1===
 
Frequency settings upper order  
 
Frequency settings upper order  
 
3.7.4. Relationship between sound pitch and frequency  
 
3.7.4. Relationship between sound pitch and frequency  
Line 266: Line 298:
 
FC04F062 E273 D60AC852 BE8CB399 A9D69F70 963D  
 
FC04F062 E273 D60AC852 BE8CB399 A9D69F70 963D  
 
8E0B858C7F08 7746 7068 6A4A6429 5EB25949 5475 4FB8 4B1E
 
8E0B858C7F08 7746 7068 6A4A6429 5EB25949 5475 4FB8 4B1E
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
 
13/16
 
 
4705 430F 3F42 3BA33868 3525 323D2F59 2CC52A3A27DC25A6  
 
4705 430F 3F42 3BA33868 3525 323D2F59 2CC52A3A27DC25A6  
 
2382 2187 1FA1 1DE01C34 1A9E191E17B5 1662 151D13EE12CD  
 
2382 2187 1FA1 1DE01C34 1A9E191E17B5 1662 151D13EE12CD  
Line 275: Line 305:
 
1FA  
 
1FA  
 
FD  
 
FD  
3.8. System Watchdog  
+
 
3.8.1. Command  
+
==System Watchdog==
 +
===Command===
 
0×01 First operand read 0×80 when setting  
 
0×01 First operand read 0×80 when setting  
 
0×35 Second operand  
 
0×35 Second operand  
3.8.2. Data  
+
===Data===
 
Set the time until the power goes OFF for forced OFF. You can set up to 255 seconds.  
 
Set the time until the power goes OFF for forced OFF. You can set up to 255 seconds.  
 
However, setting to 0 will cause the system watchdog to stop and not operate.  
 
However, setting to 0 will cause the system watchdog to stop and not operate.  
 
If read is performed, the time for the watchdog to operate is displayed.  
 
If read is performed, the time for the watchdog to operate is displayed.  
 
0×FF – (time to shutdown) = Setting value  
 
0×FF – (time to shutdown) = Setting value  
3.9. Temperature Read  
+
==Temperature Read==
3.9.1. Command  
+
===Command===
 
0×80 First Operand (read only)  
 
0×80 First Operand (read only)  
 
0×37 Second operand  
 
0×37 Second operand  
3.9.2. Data  
+
===Data===
 
The temperature on the board can be read.  
 
The temperature on the board can be read.  
 
The read data is signed char.  
 
The read data is signed char.  
 
The data is from -55°C to 125°C.  
 
The data is from -55°C to 125°C.  
3.10. SW Read  
+
==SW Read==
3.10.1. Command  
+
===Command===
 
0x80 First Operand (read only)  
 
0x80 First Operand (read only)  
 
0×36 Second operand  
 
0×36 Second operand  
3.10.2. Data  
+
===Data===
 
bit7-bit4 bit4 bit3 bit2 bit1 Bit0  
 
bit7-bit4 bit4 bit3 bit2 bit1 Bit0  
 
0 1 F_INIT_SW 1 1 Power SW
 
0 1 F_INIT_SW 1 1 Power SW
Line 311: Line 342:
 
bit1: Always 1  
 
bit1: Always 1  
 
bit0: Power_SW  0 when Power_SW is pressed  
 
bit0: Power_SW  0 when Power_SW is pressed  
3.11. LED Display  
+
==LED Display==
3.11.1. Command  
+
===Command===
 
0x01 First operand read 0x80 when setting  
 
0x01 First operand read 0x80 when setting  
 
Second operand  
 
Second operand  
Line 318: Line 349:
 
Switching LED on/off: 0×51  
 
Switching LED on/off: 0×51  
 
Flash LED: 0×52  
 
Flash LED: 0×52  
3.11.2. Data  
+
===Data===
 
DATA0  
 
DATA0  
 
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0  
 
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0  
Line 325: Line 356:
 
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0  
 
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0  
 
0 0 0 0 0 0 0 0  
 
0 0 0 0 0 0 0 0  
3.11.3. Data Meaning  
+
===Data Meaning===
 
Control Rights Switching  
 
Control Rights Switching  
 
• 0: LED control performed by microcomputer  
 
• 0: LED control performed by microcomputer  
Line 332: Line 363:
 
• 0: Switch LED off  
 
• 0: Switch LED off  
 
• 1: Light LED
 
• 1: Light LED
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
 
15/16
 
 
Flash Switching  
 
Flash Switching  
 
• 0: Do not flash LED  
 
• 0: Do not flash LED  
 
• 1: Flash LED  
 
• 1: Flash LED  
3.12. LED brightness  
+
==LED brightness==
3.12.1. Command  
+
===Command===
 
0×00 First operand 0×80 read  
 
0×00 First operand 0×80 read  
 
0X3a Second operand  
 
0X3a Second operand  
3.12.2. Data  
+
===Data===
 
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0  
 
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0  
 
0 LED Illumination  
 
0 LED Illumination  
3.12.3. Data Meaning  
+
===Data Meaning===
 
LED Illumination  
 
LED Illumination  
 
Setting possible in the 0-0xf range  
 
Setting possible in the 0-0xf range  
 
0×0= Off  
 
0×0= Off  
 
0×f = Maximum illumination  
 
0×f = Maximum illumination  
3.13. HDD Power control  
+
==HDD Power control==
3.13.1. Command  
+
===Command===
 
0×00 First operand 0×80 (read)  
 
0×00 First operand 0×80 (read)  
 
0X3b Second operand  
 
0X3b Second operand  
3.13.2. Data  
+
===Data===
 
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0  
 
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0  
 
0 0 0 HDD
 
0 0 0 HDD
KURO BOX/PRO Microcomputer Communication Specifications  Rev.1.0
+
=ACK/NACK List=
16/16
+
4. ACK/NACK List  
+
 
HEX mnemonic  
 
HEX mnemonic  
 
0x00 ACK Good  
 
0x00 ACK Good  

Revision as of 17:24, 29 August 2007

KURO BOX/PRO Microcomputer Communication Specifications Rev.1.0

Contents

Functions

Overview of Functions

Communicates with the main CPU via UART. The main functions are shown below.

  • Power SW monitoring
  • Initialization SW monitoring
  • Power control
  • Temperature measurement
  • Buzzer control
  • Watchdog function (However, watchdog function is disabled on u-boot)
  • LAN ACT monitoring
  • LED display
  • Reset sequence generation
  • LED Illumination

UART Communication with Main CPU

Transmission System

UART Basic Settings

  • Transmission speed: 38400bps
  • Data bit: 8bit
  • Parity: Even
  • Stop bit: 1 bit or more

Communication with Main CPU

  • Basic communication is performed by the transmission of commands, data, and parity.
  • When switches etc are pressed, a level interrupt occurs. The interrupt is cleared when reporting to the CPU is completed.
  • If many frame errors occur, regulate the guard time on the main CPU.

Protocol

Preamble

The receive buffer is completely cleared by sending FF 35 times.

Main CPU -> Microcomputer

Data Payload 0 Bytes

1 Transfer

direction (BIT7)

Data payload (0)
2 Command
3 Parity 0-(byte1+byte2)

Data Payload n bytes

1 Transfer

direction (BIT7)

Data payload ()
2 Command
3 Data 0



n-1 Data n
n Parity 0 - Σ(byte 1 to byte n-1)

Microcomputer -> Main CPU

Responses to commands other than the read command (when data does not exist)

1 0

(BIT7) || Data payload (1)

2 Sent command
3 ACK
4 Parity 0-(byte1+byte2+byte3)

Response to read command

1 0

(BIT7) ||Data payload (N)

2 Sent command
3 Data 1
n-1 Data N
n Parity 0 - Σ(byte 1 to byte n-1)

Response when communication error occurs

1 0

(BIT7) ||Data payload (1)

2 Sent command
3 NACK
4 Parity 0-(byte1+byte2+byte3)

ACK/NACK List

HEX mnemonic 0x00 ACK Good 0xF1 OVER_RUN UART physical layer error Physical layer buffer over 0xF2 FRAMING_ERR UART physical layer error Physical layer frame error 0xF3 PARITYERROR UART physical layer error Physical layer parity error 0xF4 Invalid_COM Command does not exist 0xF5 Com_len_err Command and data payload values do not correspond 0xF6 RX_BUFF_OVER Payload larger than 32 bytes specified. 0xF7 DATA_PARITY_ERROR Data parity is wrong.


Write Command

LED Lighting control etc Command Micro- computer CPU DATA0 DATA1 DATAn(MAX31) PARITY Switch to data transfer phase Switch to command phase Command (OPCODE) ACK Command Command 2nd byte PARITY

Read Command

Temperature read by CPU DATA0 DATA1 DATAn(MAX31) PARITY Command (OPCODE) PARITY Command CPU Micro- computer Switch to data transfer phase Switch to command phase

Interrupt + Read Command

SW Micro- computer DATA0 DATA1 DATAn(MAX31) PARITY Interrupt assert Interrupt negate Switch to data transfer phase Switch to command phase Command (OPCODE) PARITY Command CPU


Command

Command Construction

The command is a 2 byte command. Write (CPU -> Microcomputer) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 0 Length bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 OPCODE Read (Microcomputer -> CPU) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 1 0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 OPCODE


Command List

Commands with no data payload

Command 1Byte 2Byte Commandname Microcomputer operation FF --- NOP Used in preamble 0x00 0x02 BOOT_START Boot starts, CPU sends this command at the start. If this command is not received within 10 seconds after reset, power does not go on. This is displayed during boot. 0x00 0x03 BOOT_END The boot display is completed, and the device operates normally. If this command is not received within 5 minutes, power goes off. 0x00 0x06 POFF Power switches off. 0x00 0x0C SHUT_DOWN _WAIT SHUT DOWN preparations 0x00 0x0D SHUT_DOWN _WAIT_N Cancel SHUT DOWN preparations 0x00 0x0E REBOOT REBOOT (system reset) start KURO BOX/PRO Microcomputer Communication Specifications Rev.1.0

Data Payload 1 Byte Command

0x01


0x30 BZ_ON Buzzer sounds.Buzzer control, with fine selection of

whether to sound for 1 byte of data 0x01 0x80 0x33 FANSPEED_CTL FAN speed can be selected.0 Stopped 3 Maximum Settings above 3 (only enabled for lower 2 bits) 0x01 0x80 0x35 SYSTEM _WDT Performs clear and settings for system watchdog. 0x80 0x37 TEMP Obtains the temperature.Receivable data is in Centigrade 0x80 0x38 FANSPEED Obtains fan speed informationDouble the number of FAN revolutions in 3 seconds is displayed. rpm= (obtained data) ×10. 0x01 0x80 0x3a LED_BRIGHT Adjusts the brightness of the current LED 0x01 0x80 0x3b HDD_POWER Controls the HDD power supply 0x80 0x3c MAIN_STATUS Obtains the STATUS of the microcomputer


Data Payload 2 Byte Command

0x02 0x80 0x50 LED_CPU_MCON Switches LED between main CPU controland microcomputer control. 0x02 0x80 0x51 LED_ON_OFF Controls whether the LED is on or off 0x02 0x80 0x52 LED_BLINK Selects the LED for LED flashing display 0x02 0x80 0x53 BZ_FREQ Buzzer frequency settings 0x02 0x80 0x54 LED_PATTERN Controls LED flashing

Buzzer ON/OFF

Command

0×01 First operand read 0×80 0×30 Second operand

=Data

0×00 Stop the sound 0×01 [Pi-po] 0×02 [Pi] 0×03 Continuous sound [Piiiii-] 0×04 Sounds every 0.3 seconds 0×10 Repeats sounding for 0.5 seconds then stopping for 0.3 seconds. 0×20 [Pi-po-pa-po]

Buzzer pitch

Command

0×02 First operand setting 0×80 First operand reading of settings. 0×53 Second operand

Data 0

Frequency settings lower order

Data 1

Frequency settings upper order 3.7.4. Relationship between sound pitch and frequency A A# B C C#D D# E F F# G G# 55 58 62 65 69 73 78 82 87 92 98 104 110 117 123 131 139 147 156 165 175 185 196 208 220 233 247 262 277 294 311 330 349 370 392 415 440 466 494 523 554 587 622 659 698 740 784 831 880 932 988104711091175124513191397148015681661 176018651976209322172349248926372794296031363322 Relationship between values set on microcomputer and sound pitch A A# B C C#D D# E F F# G G# FC04F062 E273 D60AC852 BE8CB399 A9D69F70 963D 8E0B858C7F08 7746 7068 6A4A6429 5EB25949 5475 4FB8 4B1E 4705 430F 3F42 3BA33868 3525 323D2F59 2CC52A3A27DC25A6 2382 2187 1FA1 1DE01C34 1A9E191E17B5 1662 151D13EE12CD 11C1 10C3 0FD00EEC0E16 0D4C0C8C0BD80B2F0A8E09F7 0968 08E0 0860 07E8 0777 070C06A6 0647 05EC0597 0547 04FB04B4 3F4 1FA FD

System Watchdog

Command

0×01 First operand read 0×80 when setting 0×35 Second operand

Data

Set the time until the power goes OFF for forced OFF. You can set up to 255 seconds. However, setting to 0 will cause the system watchdog to stop and not operate. If read is performed, the time for the watchdog to operate is displayed. 0×FF – (time to shutdown) = Setting value

Temperature Read

Command

0×80 First Operand (read only) 0×37 Second operand

Data

The temperature on the board can be read. The read data is signed char. The data is from -55°C to 125°C.

SW Read

Command

0x80 First Operand (read only) 0×36 Second operand

Data

bit7-bit4 bit4 bit3 bit2 bit1 Bit0 0 1 F_INIT_SW 1 1 Power SW KURO BOX/PRO Microcomputer Communication Specifications Rev.1.0 14/16 If SW or INITSW is pressed, an interrupt occurs. You can research the cause of an interrupt by reading the SW. Reading this resistor clears the interrupt.

  • If the SW is released at the point when read is started, the value returns to 1. Therefore,

measure the pressed time on the CPU to judge. bit4: Always 1 bit3: 0 when INIT_SW is pressed bit2: Always 1 bit1: Always 1 bit0: Power_SW 0 when Power_SW is pressed

LED Display

Command

0x01 First operand read 0x80 when setting Second operand Switching LED control rights: 0×50 Switching LED on/off: 0×51 Flash LED: 0×52

Data

DATA0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 0 0 0 LINK DIAG INFO Power DATA1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 0 0 0 0 0 0 0

Data Meaning

Control Rights Switching • 0: LED control performed by microcomputer • 1: LED control performed by CPU Switching on/off • 0: Switch LED off • 1: Light LED Flash Switching • 0: Do not flash LED • 1: Flash LED

LED brightness

Command

0×00 First operand 0×80 read 0X3a Second operand

Data

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 LED Illumination

Data Meaning

LED Illumination Setting possible in the 0-0xf range 0×0= Off 0×f = Maximum illumination

HDD Power control

Command

0×00 First operand 0×80 (read) 0X3b Second operand

Data

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 0 0 HDD

ACK/NACK List

HEX mnemonic 0x00 ACK Good 0xF1 OVER_RUN UART physical layer error Physical layer buffer over 0xF2 FRAMING_ERR UART physical layer error Physical layer frame error 0xF3 PARITYERROR UART physical layer error Physical layer parity error 0xF4 Invalid_COM Command does not exist 0xF5 Com_len_err Command and data payload values do not correspond 0xF6 RX_BUFF_OVER Payload larger than 32 bytes specified. 0xF7 DATA_PARITY_ERROR Data parity is wrong.