mirror of
https://github.com/erichelgeson/BlueSCSI.git
synced 2025-08-05 08:25:46 +00:00
Compare commits
93 Commits
v1.1-20211
...
eric/relea
Author | SHA1 | Date | |
---|---|---|---|
|
ec3f5133b8 | ||
|
2338d8f153 | ||
|
b16dc558dc | ||
|
a5c6edadc3 | ||
|
79d5b12110 | ||
|
d6fb46d387 | ||
|
c2c3397b72 | ||
|
906b8be9aa | ||
|
3c258451fa | ||
|
7cdddf7371 | ||
|
20cb5d8552 | ||
|
5c0724703b | ||
|
61ae8a59db | ||
|
19cc9ad169 | ||
|
14321e3ba6 | ||
|
b0799bc327 | ||
|
2127b14863 | ||
|
3ef2474ae8 | ||
|
9d1b58cdb6 | ||
|
1f03996977 | ||
|
73fc0ed2bf | ||
|
94a22bb45e | ||
|
c8d47218b1 | ||
|
853956e441 | ||
|
69e69cad3a | ||
|
bbd91936fb | ||
|
c04027c8ca | ||
|
b898d9684f | ||
|
38904285d4 | ||
|
8a27bcc585 | ||
|
c5447a4098 | ||
|
408e155a63 | ||
|
f7799fb225 | ||
|
845954edeb | ||
|
7b7f19413c | ||
|
961ae0b8b7 | ||
|
aa751dc3b8 | ||
|
fff520959e | ||
|
2f08b9fa73 | ||
|
24e1612fc7 | ||
|
a566c9bbb0 | ||
|
9a4e3dc886 | ||
|
27c424d2f9 | ||
|
3158391c86 | ||
|
ceb6da764b | ||
|
b4b0ce711f | ||
|
77698d0a68 | ||
|
d593c0817c | ||
|
adca34aeb8 | ||
|
693ab2a5c0 | ||
|
4d3ee87c56 | ||
|
ba1b3df680 | ||
|
22eb2c8d3e | ||
|
9290adb1d6 | ||
|
fc38371717 | ||
|
08f25847f2 | ||
|
e468bd6fef | ||
|
004eea5ace | ||
|
833cfd9384 | ||
|
3b17788cc6 | ||
|
de35be0dc2 | ||
|
30eccd413e | ||
|
5c357b578c | ||
|
46fd192ede | ||
|
79835832d1 | ||
|
08a57174eb | ||
|
8db8000db3 | ||
|
13b8de7bfd | ||
|
9732e90537 | ||
|
7f68d9f808 | ||
|
e42291e82f | ||
|
f904486ad9 | ||
|
44ce53de04 | ||
|
551faf72b2 | ||
|
32219ce18b | ||
|
c9dbfec6be | ||
|
e0653d6647 | ||
|
7eb1c0d250 | ||
|
dd87235fc0 | ||
|
b797793340 | ||
|
45f61a8346 | ||
|
1f6410fdc2 | ||
|
d6ffe45554 | ||
|
3ed8ef0154 | ||
|
ab30ff262e | ||
|
bc65933625 | ||
|
5f5053ba08 | ||
|
072c50a7f9 | ||
|
57bf98de06 | ||
|
f0239fc986 | ||
|
c819d9b09b | ||
|
d0290a8cca | ||
|
9ca197f260 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
||||
.DS_Store
|
||||
.vscode/
|
||||
workspace.code-workspace
|
||||
dist/
|
||||
|
17
.vscode/extensions.json
vendored
17
.vscode/extensions.json
vendored
@@ -1,7 +1,10 @@
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
]
|
||||
}
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
14
3D-Files/1.0/README.md
Normal file
14
3D-Files/1.0/README.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Mounts
|
||||
|
||||
## `BlueSCSI-1.0-b_V2.stl` - Current
|
||||
|
||||
* Added more support on the side holes
|
||||
* Adjusted so 50pin headers dont hit standoff
|
||||
|
||||
## `BlueSCSI-1.0-b.stl`
|
||||
|
||||
An internal mount for the BlueSCSI 1.0-b. Provides side and bottom mounts.
|
||||
|
||||
# License
|
||||
|
||||
BlueSCSI 3D files © 2021 by Eric Helgeson is licensed under Attribution-NonCommercial 4.0 International
|
BIN
3D-Files/1.1/BlueSCSI 1.1-a Desktop.stl
Normal file
BIN
3D-Files/1.1/BlueSCSI 1.1-a Desktop.stl
Normal file
Binary file not shown.
BIN
3D-Files/1.1/BlueSCSI 1.1-a-DB25-Base.stl
Normal file
BIN
3D-Files/1.1/BlueSCSI 1.1-a-DB25-Base.stl
Normal file
Binary file not shown.
BIN
3D-Files/1.1/BlueSCSI 1.1-a-DB25-Lid.stl
Normal file
BIN
3D-Files/1.1/BlueSCSI 1.1-a-DB25-Lid.stl
Normal file
Binary file not shown.
15
3D-Files/1.1/README.md
Normal file
15
3D-Files/1.1/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Mounts
|
||||
|
||||
## Desktop
|
||||
|
||||
Provides mouting holes for the BlueSCSI along with side and bottom holes for common mounting in computers.
|
||||
|
||||
Please pre-tap any screw holes before mounting.
|
||||
|
||||
## DB-25 External
|
||||
|
||||
Print with supports for front overhangs. Tight fit to hold everything together.
|
||||
|
||||
# License
|
||||
|
||||
BlueSCSI 3D files © 2021 by Eric Helgeson is licensed under Attribution-NonCommercial 4.0 International
|
@@ -63,7 +63,7 @@ https://github.com/erichelgeson/BlueSCSI/wiki/Troubleshooting
|
||||
|
||||
#### 1.1-a Desktop
|
||||
|
||||
* Binky! There are now resistors and pin outs for Power and Activity LED's
|
||||
* Blinky! There are now resistors and pin outs for Power and Activity LED's
|
||||
* Resistor nets flipped all the same way
|
||||
* 50 pin allows for right angle connector
|
||||
* SD Card facing out the back - gives some better options for mounting and access
|
||||
|
13
build.sh
Normal file
13
build.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
DATE=$(date +%Y%m%d)
|
||||
VERSION="v1.1-$DATE"
|
||||
mkdir -p dist
|
||||
|
||||
for f in $(ls .pio/build/*/firmware.bin); do
|
||||
NAME="BlueSCSI-$VERSION-$(echo $f | cut -d\/ -f3).bin"
|
||||
cp $f dist/$NAME
|
||||
done
|
BIN
docs/MacHD.zip
BIN
docs/MacHD.zip
Binary file not shown.
@@ -1,66 +1,5 @@
|
||||
# Assembly
|
||||
|
||||
## Before you start
|
||||
Instructions have moved to the wiki
|
||||
|
||||
Read through all instructions before starting.
|
||||
|
||||
## Videos
|
||||
|
||||
The community has created a few assembly videos:
|
||||
* [Stephen Arsenault - BlueSCSI Kit Assembly](https://www.youtube.com/watch?v=G6lwCfLQwd8) 2:52
|
||||
* [Joe's Computer Museum - A New Challenger - BlueSCSI - #MARCHintosh Review](https://www.youtube.com/watch?v=d_8VVmvvlNI) 26:52
|
||||
* [Geeky Bit - Tutorial - BlueSCSI Assembly](https://www.youtube.com/watch?v=-nF9FYFgVHM) 20:35
|
||||
|
||||
## Building
|
||||
|
||||
1. Solder on the surface mount SD Card holder. Use the [Drag Solder](https://youtu.be/Z_KL4fWOMug) technique.
|
||||
- Once on, check continuity of all connections. Fixing this after the BluePill is on will be difficult.
|
||||
- Ensure the SD card fits and you dont have too much solder on the sides or contacts
|
||||
2. Solder the diodes to the **bottom** of the board. Be sure they are flush as possible to the bottom.
|
||||

|
||||
3. Solder the header pins on to the BluePill. Then BluePill pill to the BlueSCSI PCB.
|
||||
- Correct orientation is having the USB connector of the BluePill should be over the SD Card holder.
|
||||
- **NOTE**: Consider adding headers to the board if you would like to have the BluePill removable.
|
||||
4. Solder on the resistor nets. Pin one is marked on the board and the resistors.
|
||||
- 220 RNETS (`RN1` & `RN3`) are closest to the BluePill
|
||||
- **NOTE** PIN one on each - they are opposite of eachtoher. See photo.
|
||||
- 330 RNETS (`RN2` & `RN4`) are furthest from the BluePill
|
||||
- **NOTE** PIN one on each - they are opposite of eachtoher. See photo.
|
||||

|
||||
5. Solder on the Termination Jumpers & place the jumpers on to enable Termiation
|
||||
6. Solder the 50 Pin headers on.
|
||||
1. Note Pin 1 and Box header on the silk screen.
|
||||
7. Optional - Solder on the berg connector. Only needed if your machine does not supply enough power via the SCSI bus.
|
||||
8. Optional - Solder on the debug headers near the SD card. Only nessissarry if re-programming.
|
||||
|
||||
### Fully Assembled
|
||||

|
||||
|
||||
### Version 1.0-b & 1.0-c BOM
|
||||
|
||||
#### Mouser Cart
|
||||
|
||||
https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=c5cc83feff
|
||||
|
||||
#### Parts
|
||||
|
||||
STM32F103C8T6 (U1) aka BluePill board. Beware of fake/scams. Look for reviews. Amazon, ebay, etc.
|
||||
|
||||
* 2x 330 (RN2, RN4) Resistor nets https://www.mouser.com/ProductDetail/652-4610X-1LF-330
|
||||
|
||||
* 2x 220 (RN1, RN3) Resistor nets https://www.mouser.com/ProductDetail/652-4610X-1LF-220
|
||||
|
||||
* 2x Diodes https://www.mouser.com/ProductDetail/583-1N5818-T
|
||||
|
||||
* SD Card Holder (J1) https://www.mouser.com/ProductDetail/538-104031-0811
|
||||
|
||||
* Headers https://www.mouser.com/ProductDetail/872-920-0011-01
|
||||
|
||||
* 50 PIN SCSI header https://www.mouser.com/ProductDetail/517-30350-6002/
|
||||
- May substitute with 2 rows of headers from above.
|
||||
- **Note on Right angle connectors** - it appears Right angle headers are notched differently then the pin out. Be sure to note PIN 1/red stripe on the cable match up.
|
||||
|
||||
### Optional
|
||||
|
||||
Floppy/Berg Power header https://www.mouser.com/ProductDetail/571-1718254
|
||||
- Required if your machine does not supply power via TERM POWER. For example a Mac Plus or Mac with a Analog/PSU board that has not been recapped.
|
||||
https://github.com/erichelgeson/BlueSCSI/wiki/Assembly
|
||||
|
@@ -13,19 +13,19 @@ Updated for 1.0-c.
|
||||
|
||||
Grab the latest Gerbers. Gerber files tell the PCB manufactuer how to create the BlueSCSI boards.
|
||||
|
||||
https://github.com/erichelgeson/BlueSCSI/tree/main/hw/gerbers
|
||||
https://github.com/erichelgeson/BlueSCSI/tree/main/hw/
|
||||
|
||||
Order the boards from https://jlcpcb.com/ or your manufactuer of choice.
|
||||
|
||||
### Components
|
||||
|
||||
#### Version 1.0-b & 1.0-c BOM
|
||||
#### Version 1.0-c, 1.1-a BOM
|
||||
|
||||
https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=c5cc83feff
|
||||
|
||||
### BluePill
|
||||
|
||||
Beware of fakes and buy from a place where returns are easy. Ensure the photo in the listing shows a chip that says STM32 on it.
|
||||
Buy from a place where returns are easy. Ensure the photo in the listing shows a chip that says STM32 on it.
|
||||
|
||||
https://www.amazon.com/s?k=stm32f103c8t6
|
||||
|
||||
|
@@ -1,27 +1,15 @@
|
||||
; PlatformIO Project Configuration File https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[env:genericSTM32F103C8]
|
||||
platform = ststm32
|
||||
board = genericSTM32F103C8
|
||||
board_build.mcu = stm32f103c8t6
|
||||
board_build.core = maple
|
||||
[platformio]
|
||||
default_envs = STM32F1
|
||||
|
||||
[env]
|
||||
framework = arduino
|
||||
lib_deps =
|
||||
greiman/SdFat @ ^2.0.6
|
||||
upload_protocol = stlink
|
||||
; Different gcc versions produce much different binaries in terms of speed.
|
||||
; 1.40804.0 ; 985kb/sec
|
||||
; 1.60301.0 ; 1012kb/sec ***
|
||||
; 1.70201.0 ; 926kb/sec
|
||||
; 1.80301.0 ; 935kb/sec
|
||||
; 1.80201.181220 ; 921kb/sec
|
||||
; 1.90201.191206 ; 912kb/sec
|
||||
; 1.90301.200702 ; default - 955kb/sec
|
||||
platform_packages = toolchain-gccarmnoneeabi@1.60301.0
|
||||
|
||||
build_unflags =
|
||||
-Os
|
||||
-DARDUINO_ARCH_STM32F1
|
||||
platform_packages = platformio/toolchain-gccarmnoneeabi@1.90301.200702
|
||||
build_flags =
|
||||
-w
|
||||
-DARDUINO_GENERIC_STM32F103C
|
||||
@@ -30,9 +18,78 @@ build_flags =
|
||||
-DARDUINO_ARCH_STM32
|
||||
-DDEBUG_LEVEL=DEBUG_NONE
|
||||
-O2
|
||||
-D BUILD_TAGS="\"\""
|
||||
build_unflags =
|
||||
-Os
|
||||
-DARDUINO_ARCH_STM32F1
|
||||
upload_flags = -c set CPUTAPID 0
|
||||
|
||||
; Work around for clones.
|
||||
; https://community.platformio.org/t/cannot-upload-to-stm32-bluepill-board-over-stlink-v2/3492/25
|
||||
[env:STM32F1]
|
||||
platform = ststm32
|
||||
board = genericSTM32F103C8
|
||||
board_build.mcu = stm32f103c8t6
|
||||
board_build.core = maple
|
||||
|
||||
[env:STM32F1-XCVR]
|
||||
extends = env:STM32F1
|
||||
build_flags = ${env.build_flags}
|
||||
-DXCVR
|
||||
-D BUILD_TAGS="\"-XCVR\""
|
||||
|
||||
[env:STM32F1-USB-128MHz]
|
||||
# Max overclock for STM32
|
||||
# Can use for APM32F1 as well.
|
||||
extends = env:STM32F1-USB
|
||||
board_build.f_cpu = 128000000L
|
||||
build_flags = ${env.build_flags}
|
||||
-D BUILD_TAGS="\"-USB-128MHz\""
|
||||
|
||||
[env:STM32F1-USB-96MHz]
|
||||
# Slight overclock for STM32
|
||||
# Use for APM32F1's - it's default clock is 96MHz and runs unstable at 72MHz(STM32F1's default)
|
||||
extends = env:STM32F1-USB
|
||||
# Explicilty define the multiplier as maple only handles a few cases.
|
||||
build_flags = ${env.build_flags}
|
||||
-D BUILD_TAGS="\"-USB-96MHz\""
|
||||
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
|
||||
-D USBCON
|
||||
-D USBD_VID=0x0483
|
||||
-D USB_MANUFACTURER="Unknown"
|
||||
-D USB_PRODUCT="\"BLUEPILL_F103C8\""
|
||||
-D HAL_PCD_MODULE_ENABLED
|
||||
-DBOARD_RCC_PLLMUL=RCC_PLLMUL_12 #96000000L
|
||||
|
||||
# TODO: Find out why USB build flags get trampled when extending an extended env.
|
||||
[env:STM32F1-USB]
|
||||
platform = ststm32
|
||||
board = genericSTM32F103C8
|
||||
board_build.mcu = stm32f103c8t6
|
||||
board_build.core = maple
|
||||
board_build.f_cpu = 128000000L
|
||||
framework = arduino
|
||||
lib_deps =
|
||||
greiman/SdFat @ ^2.0.6
|
||||
upload_protocol = dfu
|
||||
; Different gcc versions produce much different binaries in terms of speed.
|
||||
platform_packages = platformio/toolchain-gccarmnoneeabi@1.90301.200702
|
||||
build_flags =
|
||||
-D BUILD_TAGS="\"-USB\""
|
||||
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
|
||||
-D USBCON
|
||||
-D USBD_VID=0x0483
|
||||
-D USB_MANUFACTURER="Unknown"
|
||||
-D USB_PRODUCT="\"BLUEPILL_F103C8\""
|
||||
-D HAL_PCD_MODULE_ENABLED
|
||||
-w
|
||||
-DARDUINO_GENERIC_STM32F103C
|
||||
-DARDUINO_LIB_DISCOVERY_PHASE
|
||||
-DARDUINO=10813
|
||||
-DARDUINO_ARCH_STM32
|
||||
-DDEBUG_LEVEL=DEBUG_NONE
|
||||
-O2
|
||||
build_unflags =
|
||||
-Os
|
||||
-DARDUINO_ARCH_STM32F1
|
||||
upload_flags = -c set CPUTAPID 0
|
||||
|
||||
; [env:debug]
|
||||
|
1560
src/BlueSCSI.cpp
1560
src/BlueSCSI.cpp
File diff suppressed because it is too large
Load Diff
84
src/scsi_cmds.h
Normal file
84
src/scsi_cmds.h
Normal file
@@ -0,0 +1,84 @@
|
||||
#ifndef __SCSI_CMDS_H__
|
||||
#define __SCSI_CMDS_H__
|
||||
|
||||
// defines for SCSI commands
|
||||
#define SCSI_TEST_UNIT_READY 0
|
||||
#define SCSI_REZERO_UNIT 0x1
|
||||
#define SCSI_REQUEST_SENSE 0x3
|
||||
#define SCSI_FORMAT_UNIT4 0x4
|
||||
#define SCSI_FORMAT_UNIT6 0x6
|
||||
#define SCSI_REASSIGN_BLOCKS 0x7
|
||||
#define SCSI_READ6 0x8
|
||||
#define SCSI_WRITE6 0xA
|
||||
#define SCSI_SEEK6 0xB
|
||||
#define SCSI_INQUIRY 0x12
|
||||
#define SCSI_MODE_SELECT6 0x15
|
||||
#define SCSI_RESERVE 0x16
|
||||
#define SCSI_RELEASE 0x17
|
||||
#define SCSI_COPY 0x18
|
||||
#define SCSI_MODE_SENSE6 0x1A
|
||||
#define SCSI_START_STOP_UNIT 0x1B
|
||||
#define SCSI_RECV_DIAG_RESULTS 0x1C
|
||||
#define SCSI_SEND_DIAG 0x1D
|
||||
#define SCSI_PREVENT_ALLOW_REMOVAL 0x1E
|
||||
#define SCSI_READ_CAPACITY 0x25
|
||||
#define SCSI_READ10 0x28
|
||||
#define SCSI_WRITE10 0x2A
|
||||
#define SCSI_SEEK10 0x2B
|
||||
#define SCSI_WRITE_AND_VERIFY 0x2E
|
||||
#define SCSI_VERIFY10 0x2F
|
||||
#define SCSI_SEARCH_DATA_HIGH 0x30
|
||||
#define SCSI_SEARCH_DATA_EQUAL 0x31
|
||||
#define SCSI_SEARCH_DATA_LOW 0x32
|
||||
#define SCSI_SET_LIMITS 0x33
|
||||
#define SCSI_PREFETCH 0x34
|
||||
#define SCSI_SYNCHRONIZE_CACHE 0x35
|
||||
#define SCSI_LOCK_UNLOCK_CACHE 0x36
|
||||
#define SCSI_READ_DEFECT_DATA 0x37
|
||||
#define SCSI_COMPARE 0x39
|
||||
#define SCSI_COPY_AND_VERIFY 0x3A
|
||||
#define SCSI_WRITE_BUFFER 0x3B
|
||||
#define SCSI_READ_BUFFER 0x3C
|
||||
#define SCSI_READ_LONG 0x3E
|
||||
#define SCSI_WRITE_LONG 0x3F
|
||||
#define SCSI_CHANGE_DEFINITION 0x40
|
||||
#define SCSI_WRITE_SAME 0x41
|
||||
#define SCSI_LOG_SELECT 0x4C
|
||||
#define SCSI_LOG_SENSE 0x4D
|
||||
#define SCSI_MODE_SELECT10 0x55
|
||||
#define SCSI_MODE_SENSE10 0x5A
|
||||
#define SCSI_READ12 0xA8
|
||||
#define SCSI_VERIFY12 0xAF
|
||||
|
||||
|
||||
#define SCSI_TOC_LENGTH 20 // length for default CDROM TOC
|
||||
|
||||
// SCSI CDROM commands
|
||||
#define SCSI_AUDIO_SCAN1 0xBA
|
||||
#define SCSI_AUDIO_SCAN2 0xCD
|
||||
#define SCSI_PAUSE_RESUME 0x4B
|
||||
#define SCSI_PLAY_AUDIO10 0x45
|
||||
#define SCSI_PLAY_AUDIO12 0xA5
|
||||
#define SCSI_PLAY_AUDIO_MSF 0x47
|
||||
#define SCSI_PLAY_AUDIO_TRACK_IDX 0x48
|
||||
#define SCSI_PLAY_TRACK_RELATIVE10 0x49
|
||||
#define SCSI_PLAY_TRACK_RELATIVE12 0xA9
|
||||
#define SCSI_READ_CD 0xBE
|
||||
#define SCSI_READ_CD_DD 0xD8
|
||||
#define SCSI_READ_CD_MSF 0xB9
|
||||
#define SCSI_READ_CDDA_MSF 0xD9
|
||||
#define SCSI_READ_CDXA 0xDB
|
||||
#define SCSI_READ_ALL_SUBCODE 0xDF
|
||||
#define SCSI_READ_HEADER 0x44
|
||||
#define SCSI_READ_SUBCHANNEL 0x42
|
||||
#define SCSI_READ_TOC 0x43
|
||||
#define SCSI_READ_DISC_INFORMATION 0x51
|
||||
#define SCSI_READ_DVD_STRUCTURE 0xAD
|
||||
#define SCSI_SET_CDROM_SPEED1 0xBB
|
||||
#define SCSI_SET_CDROM_SPEED2 0xDA
|
||||
#define SCSI_STOP_PLAY_SCAN 0x4E
|
||||
#define SCSI_READ_CDP 0xE4
|
||||
#define SCSI_READ_DRIVE_STATUS 0xE0
|
||||
#define SCSI_WRITE_CDP 0xE3
|
||||
|
||||
#endif // __SCSI_CMDS_H__
|
9
src/scsi_mode.h
Normal file
9
src/scsi_mode.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef __SCSI_MODE_H__
|
||||
#define __SCSI_MODE_H__
|
||||
|
||||
#define MODE_COMBINED_HEADER_DATA 0x00
|
||||
#define MODE_NOT_SUPPORTED 0x01
|
||||
#define MODE_DATA 0x02
|
||||
#define MODE_DESCRIPTOR 0x03
|
||||
|
||||
#endif
|
46
src/scsi_sense.h
Normal file
46
src/scsi_sense.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef __SCSI_SENSE_H__
|
||||
#define __SCSI_SENSE_H__
|
||||
|
||||
#define SCSI_SENSE_NO_SENSE 0
|
||||
#define SCSI_SENSE_RECOVERED_ERROR 0x1
|
||||
#define SCSI_SENSE_NOT_READY 0x2
|
||||
#define SCSI_SENSE_MEDUIM_ERROR 0x3
|
||||
#define SCSI_SENSE_HARDWARE_ERROR 0x4
|
||||
#define SCSI_SENSE_ILLEGAL_REQUEST 0x5
|
||||
#define SCSI_SENSE_UNIT_ATTENTION 0x6
|
||||
#define SCSI_SENSE_DATA_PROTECT 0x7
|
||||
#define SCSI_SENSE_BLANK_CHECK 0x8
|
||||
#define SCSI_SENSE_VENDOR_SPECIFIC 0x9
|
||||
#define SCSI_SENSE_COPY_ABORTED 0xa
|
||||
#define SCSI_SENSE_ABORTED_COMMAND 0xb
|
||||
#define SCSI_SENSE_EQUAL 0xc
|
||||
#define SCSI_SENSE_VOLUME_OVERFLOW 0xd
|
||||
#define SCSI_SENSE_MISCOMPARE 0xe
|
||||
#define SCSI_SENSE_RESERVED 0xf
|
||||
|
||||
|
||||
#define SCSI_ASC_INVALID_OPERATION_CODE 0x2000
|
||||
#define SCSI_ASC_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE 0x2100
|
||||
#define SCSI_ASC_INVALID_FIELD_IN_CDB 0x2400
|
||||
#define SCSI_ASC_LOGICAL_UNIT_NOT_SUPPORTED 0x2500
|
||||
#define SCSI_ASC_INVALID_FIELD_PARAMETER_LIST 0x2600
|
||||
#define SCSI_ASC_WRITE_PROTECTED 0x2700
|
||||
#define SCSI_ASC_CANNOT_READ_MEDIUM_UNKNOWN_FORMAT 0x3001
|
||||
#define SCSI_ASC_CANNOT_READ_MEDIUM_INCOMPATIBLE_FORMAT 0x3002
|
||||
#define SCSI_ASC_MEDIUM_NOT_PRESENT 0x3A00
|
||||
#define SCSI_ASC_LUN_NOT_READY_MANUAL_INTERVENTION_REQUIRED 0x0403
|
||||
|
||||
|
||||
// SCSI mode page codes
|
||||
#define SCSI_SENSE_MODE_VENDOR 0x00
|
||||
#define SCSI_SENSE_MODE_READ_WRITE_ERROR_RECOVERY 0x01
|
||||
#define SCSI_SENSE_MODE_DISCONNECT_RECONNECT 0x02
|
||||
#define SCSI_SENSE_MODE_FORMAT_DEVICE 0x03
|
||||
#define SCSI_SENSE_MODE_DISK_GEOMETRY 0x04
|
||||
#define SCSI_SENSE_MODE_FLEXABLE_GEOMETRY 0x05
|
||||
#define SCSI_SENSE_MODE_VENDOR_APPLE 0x30
|
||||
|
||||
#define SCSI_SENSE_MODE_ALL 0x3F
|
||||
|
||||
|
||||
#endif
|
14
src/scsi_status.h
Normal file
14
src/scsi_status.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef __SCSI_STATUS_H__
|
||||
#define __SCSI_STATUS_H__
|
||||
|
||||
#define SCSI_STATUS_GOOD 0
|
||||
#define SCSI_STATUS_CHECK_CONDITION 0x2
|
||||
#define SCSI_STATUS_CONDITION_MET 0x4
|
||||
#define SCSI_STATUS_BUSY 0x8
|
||||
#define SCSI_STATUS_INTERMEDIATE 0x16
|
||||
#define SCSI_STATUS_INTERMEDIATE_CONDITION_MET 0x20
|
||||
#define SCSI_STATUS_RESERVATION_CONFLICT 0x24
|
||||
#define SCSI_STATUS_COMMAND_TERMINATED 0x34
|
||||
#define SCSI_STATUS_QUEUE_FULL 0x40
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user