Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Ryzee119 committed Aug 21, 2019
1 parent d7a6708 commit a825855
Show file tree
Hide file tree
Showing 18 changed files with 1,651 additions and 2 deletions.
17 changes: 17 additions & 0 deletions Linux/makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
TARGET := libLPC.so

LINK := -L "../../lib/Linux" -lAnalyzer

CC := g++
HFILE := ../../inc/*.h
SRC := ../src/*.cpp
INC := -I ../../inc/
CXXFLAGS := -Wall -O2 -c
FPIC := -fPIC
SHARE := -shared -o
OBJ := *.o

$(TARGET) : $(HFILe) $(SRC)
$(CC) $(CXXFLAGS) $(FPIC) $(SRC) $(INC)
$(CC) $(SHARE) $(TARGET) $(OBJ) $(LINK)

17 changes: 17 additions & 0 deletions Mac/makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
TARGET := libSPI.dylib

LINK := -L "../../lib/Mac" -lAnalyzer

CC := clang++
HFILE := ../../inc/*.h
SRC := ../src/*.cpp
INC := -I ../../inc/
CXXFLAGS := -Wall -O2 -c
FPIC := -fPIC
SHARE := -dynamiclib -o
OBJ := *.o

$(TARGET) : $(HFILe) $(SRC)
$(CC) $(CXXFLAGS) $(FPIC) $(SRC) $(INC)
$(CC) $(SHARE) $(TARGET) $(OBJ) $(LINK)

41 changes: 39 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,39 @@
# LPCAnalyzer
LPC Protocol Analyzer Plugin for Kingst Branded Logic Analysers
# LPCAnalyzer Plugin

LPC analyer plugin for the [Kingst](http://www.qdkingst.com/en) branded Logic Analysers. This was developed using their SDK. <br/> <br/> **Minimum Sample Rate of 200Mhz is required**

This is considered **BETA** and the code has been hastily put together. All results may not be accurate. So use at your own risk.


## Let Me Get It!
Download a pre-build x64 DLL built for Win10 in the `bin` folder then place it in the Kingst `Analyzer` folder.

## What It Can Do
I tried to implement as many features as possible within reason. This has been designed around the Original Xbox LPC implementation so is limited to Memory and IO Read and Writes. **LFRAME signal is required though.**.
Termination of broken cycles is partially handled (Does not throw an error, but will recover for next frame)

The following features are implemented in a basic form:
1. Proper settings screen. <br/> ![enter image description here](https://i.imgur.com/trqbbkM.png)
2. Samples LADs at the centre of the lower clock pulse (Way better accuracy in my experience)
3. Descriptive text bubbles. <br/> ![enter image description here](https://i.imgur.com/b7Cvm7T.png)
4. Combines Address nibbles accordingly in text bubbles as per the LPC spec. <br/> ![enter image description here](https://i.imgur.com/eiPMQBT.png)
5. The tabular view ('Decoded Results') along the side populates fully <br/> ![enter image description here](https://i.imgur.com/r9bEIv7.png)
6. Can export to a CSV. This is laid out to one transaction per line, comma separate by nibble with a timestamp of the first LFRAME in that transaction. <br/> ![enter image description here](https://i.imgur.com/G2VxiTD.png)
7. Some basic error handling (Sync error and LFRAME error)
8. An inbuilt simulator for debugging (Hit record with your Logic Analyser Disconnected)


## Build Instructions
1. Download the Kingst SDK from [http://www.qdkingst.com/en](http://www.qdkingst.com/en) and extract to a working folder.
2. Clone this repository into the SDK working folder.

### Windows
1. Setup Visual Studio with Windows SDK and Platform Toolset (I used the latest rev of SDK 10.0, Platform Toolset v142)
2. Open `LpcAnalyzer.vcxproj` in the vs2019 folder.
3. If you point the Debugger to the KingstVIS.exe and compile the DLL as debug, you can step through the code. (You need to copy the debug .DLL to the Kingst analyser folder.)
4. Set build properties to Release and x64/x86. This has been tested mainly on x64 build.

### Linux (Untested)
1. Browse the the `Linux` folder then type `make`. This will generate a suitable lib to be copied to the Kingst analyser folder.

By Ryzee119
Binary file added images/address.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/bubble_text.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/csv.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/decoded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit a825855

Please sign in to comment.