Skip to content

akihumii/SinapseRecordingSoftware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

508 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sinapse Recording Software

Sinapse Recording Software is a Graphical User Interface designed with Qt Creator 4.1.0based on Qt 5.7.0. This software comprises of the following programs:

common:

  • A static library created for almost all of the programs listed below.

AMWFlash:

  • A program that takes in a setting file in .txt format and flash the AMW004 via FTDI.

Jane:

  • Thor's control program (yet to be developed)

Neutrino:

  • Neutrino's control program and real-time signal display of up to 10 channels.

Odin:

  • Odin's control program designed for Stimulator V4.1.

SylphII & SylphX:

  • Sylph's program that display real-time ENG(SylphII) and EMG(SylphX) signals.

Details of the programs are listed below:

Classes included in common:

  • Connection Dialog -> Takes in User input of IP address and Port to attempt connection via TCP Socket.
  • Filter Dialog -> Takes in User input of Notch Filter freq (None, 50Hz or 60Hz) and High Pass Filter (100-7500Hz) and makes use of Filter Class to execute Digital Signal Processing.
  • Filter Class -> Includes methods of Digital Notch Filter and High Pass Filter.
  • QCustomPlot -> Custom Plotting graph that is used in mainly Neutrino and Sylph Programs.
  • SignalAudio -> Main class that handles all the data to audio conversion.
  • SocketAbstract -> Contains all of the abstract socket operations that is general across the different programs.

Classes included in AMWFlash:

  • Console -> Terminal-like User Interface extracted from Qt examples that print out all of the necessary outputs for Users.
  • SerialPort Dialog -> A Dialog that allows User to choose which serial port prior flashing the AMW004.

Classes included in Neutrino:

  • Channel -> A class that holds the channel properties. (Obsolete)
  • Command Dialog -> Takes in all the User input for Neutrino setting and sends out the command via Socket or Serial.
  • Serial Channel -> The main class that handles all the serial operations of Neutrino.
  • Signal Channel -> Unused, obsolete.
  • Command -> The main class that handles all of the command to be sent to Neutrino.
  • Data Processor -> Inherited from Data in common, includes additional methods unique to Neutrino.
  • Measurement Dialog -> Displays measurements such as Min, Max, Average and Peak to Peak for Analog measurement and Bioimpedance measurement.
  • Socket Neutrino -> Inherited from Socket Abstract in common, includes additional methods unique to Neutrino.

Classes included in SylphII/SylphX:

  • Data Processor -> Inherited from Data in common, includes additional methods unique to Sylph.
  • Serial Channel -> The main class that handles all the serial operations of Sylph.
  • Socket Sylph -> Inherited from Socket Abstract in common, includes additional methods unique to Sylph. Note Difference in SylphII and SylphX Note
  • As SylphII only has 2 Implant Channels and SylphX has 10, the only difference between the two programs can be found in Data Processor and Main Window only.
  • Sylph II creates 2 QCustomPlot for the Implant Channels while Sylph X creates 10.
  • Sylph II Data Processor extracts 5 bytes at a time while Sylph X extracts 21. Note Difference in SylphII and SylphX Note

Class included in Odin:

  • Command Odin -> The main class that handles all of the command to be sent to Odin.
  • Looping Thread -> Executes everytime Send button is clicked and runs on a different thread to get precise timing of command sent.
  • Pulse Plot -> (Still in development) The main class that creates a graphical display of the pulse Odin is generating.
  • Serial Odin -> The main class that handles all the serial operations of Odin.
  • Socket Odin -> Inherited from Socket Abstract in common, includes additional methods unique to Odin.

#Compiling on Windows

  • Desktop Qt 5.7.0 MinGW 32bit kit should be used to compile Sinapse Recording Software.
  • Build directory should be of the same level with src.
  • For more information, refer to this link and this link.
  • For ease of reference, please refer to the following picture:
  • Build Settings should be as follows:

#Compiling on Linux for Windows (Static 64-bit executable)

  • Install Ubuntu 16.04 LTS
  • Get MXE:
git clone https://github.com/mxe/mxe.git
  • Install build dependencies
http://mxe.cc/#requirements

  • Build Qt 5 for Windows:
cd mxe && make MXE_TARGETS=x86_64-w64-mingw32.static qt5
  • Set path:
PATH = ~/mxe/usr/bin:$PATH
  • Althenatively: add this line into ~/.bashrc
export PATH=~/mxe/usr/bin:$PATH
  • Get to the directory of your app (where the main .pro file is), and run the Qt Makefile generator tool:
~/mxe/usr/bin/x86_64-w64-ming32.static-qmake-qt5 
  • Build your project:
make

You should find the binary in the ./release directory

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages