- Death of Sol :(
- Nemesis is EmuFlight's future configurator that is still under development.
Edit/create udev rules: (use vi, nano, or any text editor)
sudo nano /etc/udev/rules.d/50-myusb.rules
Copy/paste the contents and save it:
# ALL STMicroelectronics devices & DFU
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="****", GROUP="users", MODE="0664"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="****", GROUP="users", MODE="0664"
Then run
sudo udevadm control --reload
add yourself to the dialout group for tty/serial permissions
sudo usermod -a -G dialout $USER
#logout/login, or:
#temporary group membership for this shell session:
newgrp dialout
To use the AppImage:
chmod +x Nemesis*.AppImage
/Nemesis*.AppImage
If it fails to fully run properly, then extract the contents and run directly:
./Nemesis*.AppImage --appimage-extract
cd sqaush-fs
./nemesis
- in effort to assist troubleshooting, this has both old and new code where old is
#commented out.
git config --global core.autocrlf input
git config --global core.whitespace cr-at-eol
git config --global core.filemode false
#install build tools
#libudev-dev is essential for USB (nodejs' usb)
sudo apt-get install build-essential git libudev-dev nodejs npm yarn
git clone https://github.com/emuflight/Nemesis.git
cd Nemesis
#currently npm v6 required
npm install -g npm@6 #in some cases may need sudo
#set python2
npm config set python /usr/bin/python2.7
#set node version 12
npm install -g n #in some cases may need sudo
sudo n 12 #sets node version 12
#occasionally purge node_modules when versions cause problem.
rm -rf node_modules/
#install required node modules
npm install usb@1.6.1 --save
npm install --save --save-exact --include=dev #installs exact versions, not updated packages
#run in dev-mode
rm -rf ./build/
npm run build && npm run electron-dev
#compile to unpacked binary
# results in ./dist/linux-unpacked/nemesis
rm -rf ./build/
npm run build && npm run electron-pack
ls -lh ./build/
#compile to AppImage
rm -rf ./build/
rm -rf ./dist/
npm run build && npm run electron-pack && npm run dist
ls -h ./dist/
#disable annoying desktop shortcut creation for election apps
touch $HOME/.local/share/appimagekit/no_desktopintegration
#run it
chmod +x dist/Nemesis*.AppImage
./dist/Nemesis-*.AppImage
other npm options:
npm run OPTION , where OPTION is:
build electron-dev electron-pack-lin precommit pretty test
build-css electron-dev-win electron-pack-win preelectron-pack ship watch-css
eject electron-pack install preship start
install libusb, npm and yarn using brew
brew install libusb npm yarn
clone the repository
git clone https://github.com/emuflight/Nemesis.git
cd Nemesis
set up node v12 and set python 2.7
npm config set python /usr/bin/python2.7
npm install -g n
sudo n 12 # sets node version 12
install required node modules
npm install usb@1.6.1 --save
npm install --save --save-exact --include=dev #installs exact versions, not updated packages
start development version
npm run electron-dev
install electron builder to be able to build executable
npm install electron-builder --save-dev
build app (results in ./dist/mac)
npm run build
npm run electron-pack
This guide assumes you have git installed and working on your machine:
https://git-scm.com/download/win
Install Node.js 12 for Windows. This particular Node.js version is required. If you have other versions of Node installed, consider using nvm to manage multiple installs
https://nodejs.org/dist/latest-v12.x/ #please install via .msi, not .zip
git clone the repository (or your fork):
git clone https://github.com/emuflight/Nemesis.git
cd Nemesis
Install Windows build tools. (run from either administrative command prompt, or powershell with administrative rights)
This step may stall at Successfully installed Python 2.7, if this is the case, simply Ctrl-C one time and enter "N" for no.
npm install --global --production windows-build-tools
Install Yarn, Configure python, (this part can be done from regular command line):
npm install yarn
npm config set python %USERPROFILE%\.windows-build-tools\python27\python.exe
Install required node modules
npm install usb@1.6.1 --save
npm install --save --save-exact --include=dev #installs exact versions, not updated packages
start development version
npm run electron-dev-win
install electron builder to be able to build executable
npm install electron-builder --save-dev
build app (results in ./dist/win-unpacked)
npm run build
npm run electron-pack
(these were not needed on fresh install of Windows 10 / x64 as of Dec 3, 2020)
If your target device is not HID, you must install a driver before you can communicate with it using libusb. Currently, this means installing one of Microsoft's WinUSB, libusb-win32 or libusbK drivers. Two options are available:
- Recommended: Use the most recent version of Zadig, an Automated Driver Installer GUI application for
WinUSB,libusb-win32andlibusbK... - Alternatively, if you are only interested in
WinUSB, you can download the WinUSB driver files and customize theinffile for your device. - For version 1.0.21 or later, you can also use usbdk backend. usbdk provides another driver option for libusb Windows backend. For 1.0.21, usbdk is a compile-time option, but it becomes a runtime option from version 1.0.22 onwards, so you need to specify the usbdk backend using something like the following.
libusb_context * ctx = NULL;
libusb_init(&ctx);
libusb_set_option(ctx, LIBUSB_OPTION_USE_USBDK);