mirror of
https://github.com/preble/libpinproc
synced 2026-02-22 18:15:25 +01:00
Merge branch 'master' of git@github.com:preble/P-ROC
This commit is contained in:
@@ -8,7 +8,8 @@ Library for Gerry Stellenberg's [P-ROC](http://pinballcontrollers.com/) (Pinball
|
||||
|
||||
libpinproc requires:
|
||||
|
||||
- [libusb-0.1.12](http://libusb.wiki.sourceforge.net/): Install with the default /usr/local prefix.
|
||||
- [libusb-0.1.12](http://libusb.wiki.sourceforge.net/): Install with the default /usr/local prefix. Version 0.1.12 has been tested on Mac and Linux. Mac users: If you want to use libpinproc under Cocoa or pygame, you may wish to try libusb 1.0. See below.
|
||||
|
||||
- [libftdi-0.16](http://www.intra2net.com/en/developer/libftdi/): Install with the default /usr/local prefix.
|
||||
|
||||
The pinproctest example requires [yaml-cpp](http://code.google.com/p/yaml-cpp/). Follow the build instructions, creating the build subdirectory. After building, from the main source directory, run the following commands to manually install it:
|
||||
@@ -17,6 +18,14 @@ The pinproctest example requires [yaml-cpp](http://code.google.com/p/yaml-cpp/).
|
||||
sudo mkdir /usr/local/include/yaml-cpp
|
||||
sudo cp include/*.h /usr/local/include/yaml-cpp/
|
||||
|
||||
##### libusb-1.0 and libusb-compat
|
||||
|
||||
Version 1.0.2 does not work out of the box since libftdi is written against libusb-0.1. You can use the libusb-compat-0.1.2 project, however, which creates a library that provides the older libusb interface. Because Macs do not come with pkg-config, you may need to run configure for libusb-compat as follows:
|
||||
|
||||
./configure LIBUSB_1_0_CFLAGS=-I/usr/local/include/libusb-1.0 LIBUSB_1_0_LIBS="-L/usr/local/lib -lusb-1.0"
|
||||
|
||||
Note that libusb-1.0 must have been built and installed prior to this step. This also assumes that you installed libusb-1.0 with the default /usr/local prefix.
|
||||
|
||||
#### Building with CMake
|
||||
|
||||
Download and install [CMake](http://www.cmake.org/cmake/resources/software.html). Then:
|
||||
|
||||
@@ -11,17 +11,67 @@ PRBumpers:
|
||||
- slingR
|
||||
PRSwitches:
|
||||
flipperLwR:
|
||||
number: 1
|
||||
number: SF2
|
||||
flipperLwL:
|
||||
number: 3
|
||||
number: SF4
|
||||
flipperUpR:
|
||||
number: 5
|
||||
number: SF6
|
||||
flipperUpL:
|
||||
number: 7
|
||||
number: SF8
|
||||
fireL:
|
||||
number: S11
|
||||
fireR:
|
||||
number: S12
|
||||
startButton:
|
||||
number: S13
|
||||
shooterL:
|
||||
number: S15
|
||||
subwayEnter1:
|
||||
number: S37
|
||||
subwayEnter2:
|
||||
number: S38
|
||||
shooterR:
|
||||
number: S41
|
||||
buyIn:
|
||||
number: S31
|
||||
ballShooterR:
|
||||
number: S41
|
||||
superGame:
|
||||
number: S44
|
||||
slingL:
|
||||
number: 96
|
||||
number: S51
|
||||
slingR:
|
||||
number: 97
|
||||
number: S52
|
||||
captiveBall2:
|
||||
number: S53
|
||||
dropTargetJ:
|
||||
number: S54
|
||||
dropTargetU:
|
||||
number: S55
|
||||
dropTargetD:
|
||||
number: S56
|
||||
dropTargetG:
|
||||
number: S57
|
||||
dropTargetE:
|
||||
number: S58
|
||||
popperL:
|
||||
number: S73
|
||||
popperR:
|
||||
number: S74
|
||||
trough1:
|
||||
number: S81
|
||||
trough2:
|
||||
number: S82
|
||||
trough3:
|
||||
number: S83
|
||||
trough4:
|
||||
number: S84
|
||||
trough5:
|
||||
number: S85
|
||||
trough6:
|
||||
number: S86
|
||||
troughTop:
|
||||
number: S87
|
||||
PRCoils:
|
||||
flipperLwRMain:
|
||||
number: 32
|
||||
@@ -39,7 +89,46 @@ PRCoils:
|
||||
number: 38
|
||||
flipperUpLHold:
|
||||
number: 39
|
||||
popperL:
|
||||
number: C02
|
||||
popperR:
|
||||
number: C03
|
||||
resetDropTarget:
|
||||
number: C05
|
||||
shooterR:
|
||||
number: C08
|
||||
shooterL:
|
||||
number: C09
|
||||
trough:
|
||||
number: C13
|
||||
slingL:
|
||||
number: 54
|
||||
number: C15
|
||||
slingR:
|
||||
number: 55
|
||||
number: C16
|
||||
PRLamps:
|
||||
buyIn:
|
||||
number: L38
|
||||
dropTargetJ:
|
||||
number: L71
|
||||
dropTargetU:
|
||||
number: L72
|
||||
dropTargetD:
|
||||
number: L73
|
||||
dropTargetG:
|
||||
number: L74
|
||||
dropTargetE:
|
||||
number: L75
|
||||
superGame:
|
||||
number: L87
|
||||
startButton:
|
||||
number: L88
|
||||
gi01:
|
||||
number: G01
|
||||
gi02:
|
||||
number: G02
|
||||
gi03:
|
||||
number: G03
|
||||
gi04:
|
||||
number: G04
|
||||
gi05:
|
||||
number: G05
|
||||
@@ -22,6 +22,24 @@ PRSwitches:
|
||||
number: S34
|
||||
slingR:
|
||||
number: S35
|
||||
outhole:
|
||||
number: S18
|
||||
troughFarLeft:
|
||||
number: S25
|
||||
troughLeft:
|
||||
number: S17
|
||||
troughMiddle:
|
||||
number: S16
|
||||
troughRight:
|
||||
number: S15
|
||||
shooterLane:
|
||||
number: S27
|
||||
startButton:
|
||||
number: S13
|
||||
rocketKickout:
|
||||
number: S28
|
||||
slotKickout:
|
||||
number: S58
|
||||
PRCoils:
|
||||
flipperLwRMain:
|
||||
number: 32
|
||||
@@ -52,5 +70,7 @@ PRCoils:
|
||||
ballRelease:
|
||||
number: C09
|
||||
PRLamps:
|
||||
doorTheCamera:
|
||||
startButton:
|
||||
number: L88
|
||||
doorTheCamera:
|
||||
number: L11
|
||||
@@ -770,7 +770,7 @@ PRResult PRDevice::PrepareWriteData(uint32_t * words, int32_t numWords)
|
||||
// words will be too many, flush the currently prepared words to the P-ROC now.
|
||||
if (numPreparedWriteWords + numWords > maxWriteWords)
|
||||
{
|
||||
if (FlushWriteData() == kPRFailure);
|
||||
if (FlushWriteData() == kPRFailure)
|
||||
return kPRFailure;
|
||||
}
|
||||
|
||||
@@ -830,13 +830,15 @@ PRResult PRDevice::WriteData(uint32_t * words, int32_t numWords)
|
||||
|
||||
PRResult PRDevice::WriteDataRaw(uint32_t moduleSelect, uint32_t startingAddr, int32_t numWriteWords, uint32_t * writeBuffer)
|
||||
{
|
||||
PRResult res;
|
||||
uint32_t * buffer;
|
||||
|
||||
buffer = (uint32_t *)malloc((numWriteWords * 4) + 1);
|
||||
buffer[0] = CreateBurstCommand(moduleSelect, startingAddr, numWriteWords);
|
||||
memcpy(buffer+1, writeBuffer, numWriteWords * 4);
|
||||
WriteData(buffer, numWriteWords + 1);
|
||||
res = WriteData(buffer, numWriteWords + 1);
|
||||
free (buffer);
|
||||
return res;
|
||||
}
|
||||
|
||||
PRResult PRDevice::ReadDataRaw(uint32_t moduleSelect, uint32_t startingAddr, int32_t numReadWords, uint32_t * readBuffer)
|
||||
|
||||
Reference in New Issue
Block a user