diff --git a/Gemfile b/Gemfile index 16d1d7a3a..85e952b71 100644 --- a/Gemfile +++ b/Gemfile @@ -6,3 +6,5 @@ gem 'arduino_ci', github: 'jgfoster/arduino_ci', branch: 'makefile' # This is helpful when a change to arduino_ci breaks the tests # gem 'arduino_ci', github: 'Arduino-CI/arduino_ci', tag: 'v1.6.0' # gem 'arduino_ci', github: 'Arduino-CI/arduino_ci', ref: '9c1340a4f13638f81949172dc1ac9a0060576006' + +gem "os", "~> 1.1" diff --git a/extras/mockUI/README.md b/extras/mockUI/README.md index bd9a6f178..95fa28dbc 100644 --- a/extras/mockUI/README.md +++ b/extras/mockUI/README.md @@ -1,16 +1,40 @@ # TankControllerGUI A Python GUI for TankController running on the mocks provided by `Arduino CI`. -## Build Process +## Build Process (Mac/Linux) [Not up to date] Follow these steps * `python3 -m pip install wxPython pybind11` -* `cd GUI` +* `cd extras/mockUI` * ``filePath=`bundle exec which arduino_library_location.rb` `` * `export ARDUINO_CI=${filePath%/bin/*}/gems/arduino_ci-1.3.0/cpp/arduino` * `make clean` * `(mkdir -p build; cd build; make -f ../Makefile)` * `python3 TankController.py` +## Build Process (Windows) +Follow these steps +* Install Ruby via https://rubyinstaller.org +* Inside IDE terminal (Or equivalent Powershell terminal) + * `cd extras/mockUI` + * `irb` + * `gem install bundler arduino_ci` + * `require 'arduino_ci'; puts Gem::Specification.find_by_name('arduino_ci').gem_dir` + * Copy the returned directory + * `exit` +* Inside powershell terminal + * `python3 -m pip install wxPython pybind11` + * `$env:ARDUINO_CI = "[INSERT DIRECTORY HERE]"` + * `echo $env:ARDUINO_CI` Should return the directory that was given earlier + * `pip install libTC` +* Inside the MINGW64 terminal + * `make clean` + * If the make file fails, ensure you have make installed on the MINGW64 version of Git Bash + * `(mkdir -p build; cd build; make -f ../Makefile)` + * `python3 TankController.py` + * NOTE: As of right now, there will likely be an error like this: `"D:\Code\OpenSource\TankControllerMockUIRework\extras\mockUI\TankController.py", line 6, in import libTC ModuleNotFoundError: No module named 'libTC'` + * This is because there are modules that cannot be found in libTC.cpp, for example, cannot be found and used in that file. No solution has been found as of yet. + +## Makefile Specs The `Makefile` provides for making the following: * `libtc.dylib` (on macOS) containing the following: * `Arduino CI` mocks (essentially the Arduino OS)