Files
SCSI2SD/software/SCSI2SD/SCSI2SD.cydsn/scsiPhy.h
Michael McMaster c693c7fac1 Updated firmware for PCB Revision 3.0
- A USB Bootloader is now used. Use either the bootloader host supplied
with PSoC Creator 3.0, or else the standalone app included with
Cypress AN73503. You have 2 seconds between connecting the USB cable
and hitting the "program" button.
- The bootloaderhost program included in this repository doesn't quite
work yet. When functional it should simplify firmware updates on Linux
and Mac OSX
- Fixed an error in the parts spreadsheet which had a 22k resistor for
USB termination instead of a 22 Ohm resistor.
- Updated parts spreadsheet with part number of PSoC actually used
(CY8C5267AXI-LP051).
2013-10-27 00:21:42 +10:00

44 lines
1.3 KiB
C
Executable File

// Copyright (C) 2013 Michael McMaster <michael@codesrc.com>
//
// This file is part of SCSI2SD.
//
// SCSI2SD is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// SCSI2SD is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with SCSI2SD. If not, see <http://www.gnu.org/licenses/>.
#ifndef SCSIPHY_H
#define SCSIPHY_H
#define SCSI_SetPin(pin) \
CyPins_SetPin((pin));
#define SCSI_ClearPin(pin) \
CyPins_ClearPin((pin));
// Active low: we interpret a 0 as "true", and non-zero as "false"
#define SCSI_ReadPin(pin) \
(CyPins_ReadPin((pin)) == 0)
// Contains the odd-parity flag for a given 8-bit value.
extern const uint8 Lookup_OddParity[256];
void scsiPhyInit();
uint8 scsiReadByte(void);
void scsiRead(uint8* data, uint32 count);
void scsiWriteByte(uint8 value);
void scsiWrite(uint8* data, uint32 count);
uint8 scsiReadDBxPins();
void scsiEnterPhase(int phase);
#endif