diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 000000000..edfc68948 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 2.5.8 diff --git a/.travis.yml b/.travis.yml index c90f5c9bc..c3f6b37e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby rvm: -- 2.2.2 +- 2.5.3 before_script: - chmod +x ./cibuild.sh # or do this locally and commit diff --git a/README.md b/README.md index 134ae6631..886f02376 100644 --- a/README.md +++ b/README.md @@ -63,9 +63,7 @@ refresh your browser. Previewing Your Changes Online --- -We have a special script to use to publish your changes using the `gh-pages` -branch of your fork of ev3dev.github.io. If you have SSH setup for your GitHub -account, simply run`./publish ` where `` is your actual GitHub -user name. -This will copy the contents of `_site`, fix it up a bit and push it to your -fork on GitHub. You can view the results at `http://.github.io/ev3dev.github.io`. +After you have previewed your changes locally, you can use a special Ruby script to publish your changes using the `gh-pages` +branch of your fork of ev3dev.github.io. + +If you have SSH setup for your GitHub account, simply run `./publish.rb --ssh` where `` is your actual GitHub user name. If you do not have SSH set up, use `./publish.rb `. This will copy the contents of `_site`, fix it up a bit and push it to your fork on GitHub. You can view the results at `http://.github.io/ev3dev.github.io`. diff --git a/_config.yml b/_config.yml index 2b613a282..8ad378c34 100644 --- a/_config.yml +++ b/_config.yml @@ -11,7 +11,7 @@ exclude: - .travis.yml - maintainer-notes.md -gems: +plugins: - jekyll-mentions - jekyll-sitemap - jekyll-redirect-from diff --git a/_includes/page-core/deferred-head-resources.html b/_includes/page-core/deferred-head-resources.html index 59f2a0244..7a5e540d2 100644 --- a/_includes/page-core/deferred-head-resources.html +++ b/_includes/page-core/deferred-head-resources.html @@ -1,8 +1,8 @@ {% if page.enable_x3d_support %} - - + + {% endif %} diff --git a/_includes/page-core/page-footer.html b/_includes/page-core/page-footer.html index 02cc754eb..f88b42594 100644 --- a/_includes/page-core/page-footer.html +++ b/_includes/page-core/page-footer.html @@ -21,7 +21,7 @@
- LEGO®is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site + LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site
diff --git a/_includes/page-core/page-header.html b/_includes/page-core/page-header.html index bce337917..4e0749e34 100644 --- a/_includes/page-core/page-header.html +++ b/_includes/page-core/page-header.html @@ -35,7 +35,7 @@ Networking
  • - + Hardware Drivers diff --git a/cibuild.sh b/cibuild.sh index a31c76f10..557ec42a2 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -6,8 +6,8 @@ echo "Searching for BOMs -------------------------------" FOUND_BOM=false for filename in ./**/*.*; do # Make sure that the file is UTF-8 so we don't search binary files or other encodings - CURRENT_FILE_ENCODING="`file --mime-encoding --brief "$filename"`" - if [ "$CURRENT_FILE_ENCODING" == "utf-8" ] && [ "`head -c 3 -- "$filename"`" == $'\xef\xbb\xbf' ] + CURRENT_FILE_ENCODING="$(file --mime-encoding --brief "$filename")" + if [ "$CURRENT_FILE_ENCODING" == "utf-8" ] && [ "$(head -c 3 -- "$filename")" == $'\xef\xbb\xbf' ] then # Make note of all the files that failed so we can see it in the Travis log FOUND_BOM=true @@ -26,45 +26,9 @@ fi echo "Building site ------------------------------------" bundle exec jekyll build --trace -if [ "$TRAVIS" == "true" ]; then - # Travis has issues with https, so we have to ignore quite a few extra sites - - # credit: code snippet borrowed from jekyllrb.com website source - IGNORE_HREFS=$(ruby -e 'puts %w{ - example.com - https:\/\/github\.com\/myuser\/myrepo - .*revolds-whitepaper\.pdf - https:\/\/github.com\/ev3dev\/ev3dev\.github\.io\/edit\/.* - robosnap.net - warmcat.com - 01.org - alldatasheet.com - kernel\.org - lab\.open-roberta\.org - questforspace\.com - bountysource\.com - barryodonovan\.com - unity3d\.com - }.map{|h| "/#{h}/"}.join(",")') -else - # credit: code snippet borrowed from jekyllrb.com website source - IGNORE_HREFS=$(ruby -e 'puts %w{ - example.com - https:\/\/github\.com\/myuser\/myrepo - https:\/\/github.com\/ev3dev\/ev3dev\.github\.io\/edit\/.* - robosnap.net - }.map{|h| "/#{h}/"}.join(",")') -fi - -# Explanation of ignored sites: -# - example.com and github.com/myuser/myrepo are fake/example links -# - The edit on github pages don't exist when you create a page, so ignoring them. -# They are automatically generated anyway. -# - robosnap.net no longer exists, but keeping the link for historical reasons - echo "Validating HTML ----------------------------------" # We want to use the publish script so that we can implement other transformations in the future -ruby publish.rb --no-fix-links --test "htmlproofer ./ --url-ignore $IGNORE_HREFS --check-html --allow-hash-href" +ruby publish.rb --no-fix-links --test "htmlproofer ./ --disable-external --check-html --allow-hash-href" # If the site build succeeded but we found BOMs, we want to fail the build if [ $FOUND_BOM == true ] diff --git a/contribute.md b/contribute.md index 77a759813..fafc17b7e 100644 --- a/contribute.md +++ b/contribute.md @@ -80,7 +80,7 @@ These contributions will be used to purchase additional hardware, like sensors a [issue]: https://github.com/ev3dev/ev3dev/issues [ms-angle-sensor-commit]: https://github.com/ev3dev/ev3dev-kernel/commit/0bb5e72135f8abf789db5d061a78a26f6281ed2f [ev3-creating-a-console-cable]: http://botbench.com/blog/2013/08/15/ev3-creating-console-cable -[will-work-for-sensors]: http://lechnology.com/2014/08/will-work-for-sensors +[will-work-for-sensors]: https://lechnology.com/2014/08/will-work-for-sensors [ev3dev-github-org]: https://github.com/ev3dev [bountysource.com]: https://www.bountysource.com/teams/ev3dev [Saleae]: https://www.saleae.com/ diff --git a/docs/devtools/installing-the-ev3dev-archive.md b/docs/devtools/installing-the-ev3dev-archive.md index 7609f1ad5..c1ac05ab9 100644 --- a/docs/devtools/installing-the-ev3dev-archive.md +++ b/docs/devtools/installing-the-ev3dev-archive.md @@ -9,18 +9,22 @@ on one of our debian packages, you will need some packages from this archive. If you just want to write programs for the EV3 itself, you don't need this. -Adding it is quite simple. Save the following as `/etc/apt/sources.list.d/ev3dev.list`. +Only Ubuntu Trusty (for Travis CI) and the latest Ubuntu LTS are supported +(the latest Ubuntu Stable might work). - deb http://archive.ev3dev.org/ubuntu trusty main - #deb-src http://archive.ev3dev.org/ubuntu trusty main +{% include /style/icon.html type="info" %} +This package archive was move from `archive.ev3dev.org` to a PPA in mid-2017. +If you are using `archive.ev3dev.org`, you should delete it from `/etc/apt/lists.d/` +and set up the new PPA instead. +{: .alert .alert-info} -Then trust the keyring by running... +Adding it is quite simple. Just run the following command. - sudo apt-key adv --keyserver pgp.mit.edu --recv-keys D57D95AF93178A7C + sudo apt-add-repository ppa:ev3dev/tools Now, lets try it out... - sudo apt-get update - sudo apt-get install ev3dev-archive-keyring + sudo apt update + sudo apt install ev3dev-archive-keyring If the package installs, then you are good to go. diff --git a/docs/devtools/packaging-for-ev3dev.md b/docs/devtools/packaging-for-ev3dev.md index c92a489e4..a440c239d 100644 --- a/docs/devtools/packaging-for-ev3dev.md +++ b/docs/devtools/packaging-for-ev3dev.md @@ -15,7 +15,7 @@ packages. Whether you are creating a new package or modifying an existing one, there are some tools that you are going to need. We currently use Ubuntu trusty as the development environment. (We will only support trusty, but any thing newer should -work - same goes for jessie or newer on Debian). If you are using Windows or Mac +work - same goes for stretch or newer on Debian). If you are using Windows or Mac you can use [VirtualBox] or [Docker] to run trusty in a virtual machine/container. On your Ubuntu machine, you will need to install some packages. If you haven't @@ -58,10 +58,10 @@ available (as in the case with security updates). The same command is used for both creating and updating: - OS=debian DIST=jessie ARCH=armel pbuilder-ev3dev base + OS=debian DIST=stretch ARCH=armel pbuilder-ev3dev base Replace the variables as needed. `OS` can be `debian` or `rasbian`. `DIST` can -be any Debian distribution supported by ev3dev (currently only `jessie`). `ARCH` +be any Debian distribution supported by ev3dev (currently only `stretch`). `ARCH` is any valid Debian architecture (`armel`, `armhf`, etc.). The images are stored in `~/pbuilder-ev3dev`. @@ -80,9 +80,9 @@ After you have forked the repository on GitHub, run... To build a package, simply run `pbuilder-ev3dev` from the source code directory. - OS=debian DIST=jessie ARCH=armel pbuilder-ev3dev build + OS=debian DIST=stretch ARCH=armel pbuilder-ev3dev build -The .deb package(s) will be placed in `~/pbuilder-ev3dev/debian/jessie-armel`. +The .deb package(s) will be placed in `~/pbuilder-ev3dev/debian/stretch-armel`. You can copy these files to your EV3 and install them. ## Modifying a Package @@ -119,7 +119,7 @@ making changes, you can try them out by building the package as described above with one difference. You need to use the `dev-build` command so that it will not fail because of your changes. - OS=debian DIST=jessie ARCH=armel pbuilder-ev3dev dev-build + OS=debian DIST=stretch ARCH=armel pbuilder-ev3dev dev-build Once you are happy with your changes, commit them and push them back to GitHub. **Note:** Some packages use [quilt] for managing patches. If you want to figure @@ -169,30 +169,30 @@ building packages for yourself. command recently, you can omit those lines. # build for EV3 - OS=debian ARCH=armel DIST=jessie pbuilder-ev3dev base - OS=debian ARCH=armel DIST=jessie pbuilder-ev3dev build + OS=debian ARCH=armel DIST=stretch pbuilder-ev3dev base + OS=debian ARCH=armel DIST=stretch pbuilder-ev3dev build # build for RPi 2/3 and BeagleBone - OS=debian ARCH=armhf DIST=jessie pbuilder-ev3dev base - DEBUILD_OPTIONS="--binary-only" OS=debian ARCH=armhf DIST=jessie pbuilder-ev3dev build + OS=debian ARCH=armhf DIST=stretch pbuilder-ev3dev base + DEBUILD_OPTIONS="--binary-only" OS=debian ARCH=armhf DIST=stretch pbuilder-ev3dev build # build for RPi 0/1 - OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev base - OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev build + OS=raspbian ARCH=armhf DIST=stretch pbuilder-ev3dev base + OS=raspbian ARCH=armhf DIST=stretch pbuilder-ev3dev build If your package does not have any binary components (like a pure python package), you can do this instead: # build for EV3, RPi 2/3 and BeagleBone - OS=debian ARCH=amd64 DIST=jessie pbuilder-ev3dev base - OS=debian ARCH=amd64 DIST=jessie pbuilder-ev3dev build + OS=debian ARCH=amd64 DIST=stretch pbuilder-ev3dev base + OS=debian ARCH=amd64 DIST=stretch pbuilder-ev3dev build # build for RPi 0/1 - OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev base - OS=raspbian ARCH=armhf DIST=jessie pbuilder-ev3dev build + OS=raspbian ARCH=armhf DIST=stretch pbuilder-ev3dev base + OS=raspbian ARCH=armhf DIST=stretch pbuilder-ev3dev build 7. Sign the `.changes` files in `~/pbuilder-ev3dev/$OS/$DIST-$ARCH/` using `debsign`. - debsign ~/pbuilder-ev3dev/debian/jessie-armel/__armel.changes - debsign ~/pbuilder-ev3dev/debian/jessie-armhf/__armhf.changes - debsign ~/pbuilder-ev3dev/raspbian/jessie-armhf/__armhf.changes + debsign ~/pbuilder-ev3dev/debian/stretch-armel/__armel.changes + debsign ~/pbuilder-ev3dev/debian/stretch-armhf/__armhf.changes + debsign ~/pbuilder-ev3dev/raspbian/stretch-armhf/__armhf.changes 8. Upload the new release to the ev3dev archive using `dput`. @@ -219,9 +219,9 @@ building packages for yourself. Then upload: - dput ev3dev-debian ~/pbuilder-ev3dev/debian/jessie-armel/__armel.changes - dput ev3dev-debian ~/pbuilder-ev3dev/debian/jessie-armhf/__armhf.changes - dput ev3dev-raspbian ~/pbuilder-ev3dev/raspbian/jessie-armhf/__armhf.changes + dput ev3dev-debian ~/pbuilder-ev3dev/debian/stretch-armel/__armel.changes + dput ev3dev-debian ~/pbuilder-ev3dev/debian/stretch-armhf/__armhf.changes + dput ev3dev-raspbian ~/pbuilder-ev3dev/raspbian/stretch-armhf/__armhf.changes Please be careful about `armhf` and `ev3dev-debian` vs. `ev3dev-raspbian`! You should receive an email after each upload. If not, let @dlech know about it. @@ -245,7 +245,7 @@ building packages for yourself. [VirtualBox]: https://www.virtualbox.org -[Docker]: http://www.docker.com +[Docker]: https://www.docker.com [ev3dev-archive]: {{ github.site.url }}/docs/devtools/installing-the-ev3dev-archive [ev3dev-buildscripts]: https://github.com/ev3dev/ev3dev-buildscripts [quilt]: https://wiki.debian.org/UsingQuilt diff --git a/docs/driver-overview.md b/docs/driver-overview.md index 6784752b5..76ae1b9ae 100644 --- a/docs/driver-overview.md +++ b/docs/driver-overview.md @@ -1,4 +1,4 @@ --- title: Hardware Drivers -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ --- diff --git a/docs/drivers/brickpi-battery.md b/docs/drivers/brickpi-battery.md index a32a2ba8c..2c61342dc 100644 --- a/docs/drivers/brickpi-battery.md +++ b/docs/drivers/brickpi-battery.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi+ Battery Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#battery +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#battery --- diff --git a/docs/drivers/brickpi-i2c-sensor.md b/docs/drivers/brickpi-i2c-sensor.md index 79e93a403..87beda594 100644 --- a/docs/drivers/brickpi-i2c-sensor.md +++ b/docs/drivers/brickpi-i2c-sensor.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi I2C Sensor Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#i2c-sensor-driver +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#i2c-sensor-driver --- diff --git a/docs/drivers/brickpi-ld.md b/docs/drivers/brickpi-ld.md index 8e76346a8..7e4107be0 100644 --- a/docs/drivers/brickpi-ld.md +++ b/docs/drivers/brickpi-ld.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi Line Discipline -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#line-discipline +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#line-discipline --- diff --git a/docs/drivers/dc-motor-class.md b/docs/drivers/dc-motor-class.md index 62159a0e7..f7641cd45 100644 --- a/docs/drivers/dc-motor-class.md +++ b/docs/drivers/dc-motor-class.md @@ -1,4 +1,4 @@ --- title: DC Motor Class -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#dc-motor-subsystem +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#dc-motor-subsystem --- diff --git a/docs/drivers/ev3-analog-sensor.md b/docs/drivers/ev3-analog-sensor.md index fc6a62682..8281081fb 100644 --- a/docs/drivers/ev3-analog-sensor.md +++ b/docs/drivers/ev3-analog-sensor.md @@ -1,4 +1,4 @@ --- title: EV3 Analog Sensor Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#ev3-analog +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#ev3-analog --- diff --git a/docs/drivers/ev3-uart-sensor-ld.md b/docs/drivers/ev3-uart-sensor-ld.md index 202aee7c1..76b722e86 100644 --- a/docs/drivers/ev3-uart-sensor-ld.md +++ b/docs/drivers/ev3-uart-sensor-ld.md @@ -1,4 +1,4 @@ --- title: EV3 UART Sensor Line Discipline -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#ev3-uart +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#ev3-uart --- diff --git a/docs/drivers/ht-nxt-smux-i2c-sensor.md b/docs/drivers/ht-nxt-smux-i2c-sensor.md index 7e6976d77..5e7d4939a 100644 --- a/docs/drivers/ht-nxt-smux-i2c-sensor.md +++ b/docs/drivers/ht-nxt-smux-i2c-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Sensor Multiplexer I2C sensor driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#hitechnic-sensor-multiplexer +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#hitechnic-sensor-multiplexer --- diff --git a/docs/drivers/index.md b/docs/drivers/index.md index b2f1e86bd..ec112d5f5 100644 --- a/docs/drivers/index.md +++ b/docs/drivers/index.md @@ -1,4 +1,4 @@ --- title: Drivers -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/index.html +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/index.html --- diff --git a/docs/drivers/lego-port-class.md b/docs/drivers/lego-port-class.md index 5626dff2f..20a09c7ed 100644 --- a/docs/drivers/lego-port-class.md +++ b/docs/drivers/lego-port-class.md @@ -1,4 +1,4 @@ --- title: LEGO Port Class Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ports.html#the-lego-port-subsystem +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ports.html#the-lego-port-subsystem --- diff --git a/docs/drivers/lego-sensor-class.md b/docs/drivers/lego-sensor-class.md index f1098eb72..ce8b73874 100644 --- a/docs/drivers/lego-sensor-class.md +++ b/docs/drivers/lego-sensor-class.md @@ -1,4 +1,4 @@ --- title: LEGO Sensor Class -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#the-lego-sensor-subsytem +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#the-lego-sensor-subsytem --- diff --git a/docs/drivers/legoev3-motor.md b/docs/drivers/legoev3-motor.md index 722b2e859..1a64da481 100644 --- a/docs/drivers/legoev3-motor.md +++ b/docs/drivers/legoev3-motor.md @@ -1,4 +1,4 @@ --- title: EV3/NXT Tacho Motor Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#motor-modules +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#motor-modules --- diff --git a/docs/drivers/legoev3-ports.md b/docs/drivers/legoev3-ports.md index 623fac490..1aa963562 100644 --- a/docs/drivers/legoev3-ports.md +++ b/docs/drivers/legoev3-ports.md @@ -1,4 +1,4 @@ --- title: EV3 Input and Output Ports -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ev3.html#input-output-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ev3.html#input-output-ports --- diff --git a/docs/drivers/nxt-analog-sensor.md b/docs/drivers/nxt-analog-sensor.md index 84bd002d6..5c1a0fd25 100644 --- a/docs/drivers/nxt-analog-sensor.md +++ b/docs/drivers/nxt-analog-sensor.md @@ -1,4 +1,4 @@ --- title: NXT Analog Sensor Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#nxt-analog +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#nxt-analog --- diff --git a/docs/drivers/nxt-i2c-sensor.md b/docs/drivers/nxt-i2c-sensor.md index be4649f0f..cb6945407 100644 --- a/docs/drivers/nxt-i2c-sensor.md +++ b/docs/drivers/nxt-i2c-sensor.md @@ -1,4 +1,4 @@ --- title: NXT I2C Sensor Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#nxt-i2c +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#nxt-i2c --- diff --git a/docs/drivers/pistorms.md b/docs/drivers/pistorms.md index a9e17c0ff..64f0c049f 100644 --- a/docs/drivers/pistorms.md +++ b/docs/drivers/pistorms.md @@ -1,4 +1,4 @@ --- title: mindsensors.com PiStorms -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/pistorms.html +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/pistorms.html --- diff --git a/docs/drivers/rcx-led.md b/docs/drivers/rcx-led.md index 09caf4954..c87889e11 100644 --- a/docs/drivers/rcx-led.md +++ b/docs/drivers/rcx-led.md @@ -1,4 +1,4 @@ --- title: RCX/Power Functions LED Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#generic-leds +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#generic-leds --- diff --git a/docs/drivers/rcx-motor.md b/docs/drivers/rcx-motor.md index e573aaa62..841c1eb78 100644 --- a/docs/drivers/rcx-motor.md +++ b/docs/drivers/rcx-motor.md @@ -1,4 +1,4 @@ --- title: RCX/Power Functions Motor Driver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#generic-dc-motors +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#generic-dc-motors --- diff --git a/docs/drivers/servo-motor-class.md b/docs/drivers/servo-motor-class.md index 35af3638b..a297dd3ea 100644 --- a/docs/drivers/servo-motor-class.md +++ b/docs/drivers/servo-motor-class.md @@ -1,4 +1,4 @@ --- title: Servo Motor Class -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#servo-motor-subsystem +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#servo-motor-subsystem --- diff --git a/docs/drivers/tacho-motor-class.md b/docs/drivers/tacho-motor-class.md index db3bd2834..8c4d7cd81 100644 --- a/docs/drivers/tacho-motor-class.md +++ b/docs/drivers/tacho-motor-class.md @@ -1,4 +1,4 @@ --- title: Tacho Motor Class -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem --- diff --git a/docs/drivers/user-lego-configfs.md b/docs/drivers/user-lego-configfs.md index da2d2031d..5a45ae29e 100644 --- a/docs/drivers/user-lego-configfs.md +++ b/docs/drivers/user-lego-configfs.md @@ -1,4 +1,4 @@ --- title: User-defined LEGO devices using configfs -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/user.html#configfs-interface +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/user.html#configfs-interface --- diff --git a/docs/drivers/user-lego-sensor.md b/docs/drivers/user-lego-sensor.md index cc5606ece..fe732632c 100644 --- a/docs/drivers/user-lego-sensor.md +++ b/docs/drivers/user-lego-sensor.md @@ -1,4 +1,4 @@ --- title: User-defined LEGO sensor devices -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/user.html#the-user-lego-sensor-subsystem +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/user.html#the-user-lego-sensor-subsystem --- diff --git a/docs/getting-started.md b/docs/getting-started.md index f619506d6..a7512dc52 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -33,14 +33,6 @@ First, here are the things you need before starting: With PiStorms the EV3 options will work too since you have a built-in screen to configure them on. With BrickPi you can also set up other connections from the console using an external screen and keyboard. - -{% include /style/icon.html type="warning" %} -The instructions on this page only apply to releases dated December -2015 or later. Older releases are no longer supported. There are many major changes -in the December release, so if something seems broken or the documentation seems incorrect, -please [open an issue on GitHub](/support){: .alert-link}. -{: .alert .alert-warning} - {% include /style/end-section.html %} {% include /style/begin-section.html bg="dark" %} @@ -51,11 +43,17 @@ please [open an issue on GitHub](/support){: .alert-link}.
    @@ -89,7 +87,10 @@ if you do not want to lose them! Now it's time to write the image to the card. -1. Download and install Etcher from [their website](https://etcher.io). +1. Download and install [Etcher v17](https://github.com/balena-io/etcher/releases/tag/v1.17.0) + + **Newer versions are broken and don't work with the ev3dev image!** + 2. Launch Etcher after it has finished installing. {% include /util/screenshot.html source="/images/etcher/home.png" caption="Etcher home screen" width="600px" %} @@ -124,7 +125,7 @@ Now it's time to write the image to the card. {% include /style/icon.html type="info" %} For more detailed information and flashing utility alternatives, check out [our other tutorials](/docs/tutorials/#group-administration-and-setup-sd-card-image){: .alert-link }. -You can also check out [this page for RaspberryPi](http://elinux.org/RPi_Easy_SD_Card_Setup){: .alert-link }. +You can also check out [this page for RaspberryPi](https://elinux.org/RPi_Easy_SD_Card_Setup){: .alert-link }. Much of the information there is applicable to ev3dev. {: .alert .alert-info } @@ -246,6 +247,7 @@ available hardware. {% include /style/begin-section.html %} + ## Step 6: Connect to the EV3 via SSH Now that you have a network connection, you should connect to your EV3 with SSH. @@ -274,6 +276,18 @@ you're good to go! {% include /style/begin-section.html bg="dark" %} +## Step 6.1: Optional: Update `apt` + +Currently, the image file downloaded from step 1 was built in 2020. +`apt` does not work out of the box. + +To fix `apt` in general, `/etc/apt/sources.list` needs to be changed to match [this file][SourcesList] + +Specifically, you can run `sudo nano /etc/apt/sources.list`, +delete the old content from that file, +and replace them with the content from the link above. + + ## Step 7: Choose a programming language and write some code {% include /style/icon.html type="info" %} @@ -292,5 +306,5 @@ favorite language is probably supported. Pick your language and write some code! [microSD]: https://en.wikipedia.org/wiki/Secure_Digital#SD [microSDHC]: https://en.wikipedia.org/wiki/Secure_Digital#SDHC [microSDXC]: https://en.wikipedia.org/wiki/Secure_Digital#SDXC +[SourcesList]: https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list [releases]:https://github.com/ev3dev/ev3dev/releases -[nightly]:https://oss.jfrog.org/list/oss-snapshot-local/org/ev3dev/brickstrap/ diff --git a/docs/kernel-hackers-notebook/ev3-adc.md b/docs/kernel-hackers-notebook/ev3-adc.md index f3e28a3c5..f79271d92 100644 --- a/docs/kernel-hackers-notebook/ev3-adc.md +++ b/docs/kernel-hackers-notebook/ev3-adc.md @@ -11,7 +11,7 @@ The EV3 uses a Texas Instruments ADS7957 chip. It is connected to the CPU via an * 16 channels * 10-bit resolution * 20kHz max clock rate -* Using the 5V input mode (i.e. 1024 == 5.00V) +* Using the 5V input mode (i.e. 1023 == 5.00V) ## Documentation diff --git a/docs/kernel-hackers-notebook/ev3-eeprom.md b/docs/kernel-hackers-notebook/ev3-eeprom.md index e96b0977f..7ea5acb54 100644 --- a/docs/kernel-hackers-notebook/ev3-eeprom.md +++ b/docs/kernel-hackers-notebook/ev3-eeprom.md @@ -48,7 +48,7 @@ If you have a serial terminal connected to Input Port 1, you will see the follow Jumping to entry point at: 0xC1080000 -NOTE: You can enter firmware update mode by writing 0x5555AAAA to memory address 0xFFFF1FFA (part of the 128K on-chip ram of the AM1808 processor) and then rebooting with `reboot -d -f -i`. This reboots without properly shutting down (see `reboot --help`), so we don't want to do this in ev3dev. On the official LEGO firmware, the firmware update writes over everything so it doesn't matter if it does not shut down properly. +NOTE: You can enter firmware update mode by writing 0x5555AAAA to memory address 0xFFFF1FFC (part of the 128K on-chip ram of the AM1808 processor) and then rebooting with `reboot -d -f -i`. This reboots without properly shutting down (see `reboot --help`), so we don't want to do this in ev3dev. On the official LEGO firmware, the firmware update writes over everything so it doesn't matter if it does not shut down properly. ## Hardware Version diff --git a/docs/kernel-hackers-notebook/ev3-fiq.md b/docs/kernel-hackers-notebook/ev3-fiq.md index 1daf81fad..2e7b64646 100644 --- a/docs/kernel-hackers-notebook/ev3-fiq.md +++ b/docs/kernel-hackers-notebook/ev3-fiq.md @@ -9,7 +9,7 @@ ARM processors have a feature called Fast Interrupts (FIQs). These work mostly l [This article](https://warmcat.com/embedded%20linux/2007/09/17/at91rm9200-fiq-faq-and-simple-example-code-patch.html) is by the author of the patch that our implementation (and in lms2012) is based on. The link to the patch in the article is broken, but it can be found [here](http://svn.openmoko.org/branches/src/target/kernel/2.6.24.x/patches/introduce-fiq-basis.patch). A patch that is more like what was included in lms2012 is found [here](https://dev.openwrt.org/browser/trunk/target/linux/s3c24xx/patches-2.6.31/005-fiq_c_handler.patch?rev=17665). -[This article](http://free-electrons.com/blog/fiq-handlers-in-the-arm-linux-kernel/) does a good job explaining _why_ we need to use FIQs and has some nice pictures so you can see the difference of using a FIQ vs. a regular IRQ. +[This article](https://bootlin.com/blog/fiq-handlers-in-the-arm-linux-kernel/) does a good job explaining _why_ we need to use FIQs and has some nice pictures so you can see the difference of using a FIQ vs. a regular IRQ. ## Debugging diff --git a/docs/kernel-hackers-notebook/ev3-i2c.md b/docs/kernel-hackers-notebook/ev3-i2c.md index 8abbcd702..f0bd12d3e 100644 --- a/docs/kernel-hackers-notebook/ev3-i2c.md +++ b/docs/kernel-hackers-notebook/ev3-i2c.md @@ -34,7 +34,7 @@ is done in [arch/arm/mach-davinci/legoev3-fiq.c] and the rest is in ## I2C Addressing -See [I2C Sensor Addressing](http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/i2c.html#addressing). +See [I2C Sensor Addressing](https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/i2c.html#addressing). [i2c]: https://en.wikipedia.org/wiki/I2c [framework for I2C drivers]: https://www.kernel.org/doc/Documentation/i2c/ diff --git a/docs/kernel-hackers-notebook/ev3-lcd.md b/docs/kernel-hackers-notebook/ev3-lcd.md index 2524edc9a..b5b55619d 100644 --- a/docs/kernel-hackers-notebook/ev3-lcd.md +++ b/docs/kernel-hackers-notebook/ev3-lcd.md @@ -12,7 +12,7 @@ The EV3 uses a custom? LCD display and Sitronix ST7586 Controller/Driver. It appears that TI wrote the LCD driver for LEGO. Here is some info from the person that did the work. -- [Passing Time with the SPI Framebuffer Driver](http://elinux.org/images/1/19/Passing_Time_With_SPI_Framebuffer_Driver.pdf) +- [Passing Time with the SPI Framebuffer Driver](https://elinux.org/images/1/19/Passing_Time_With_SPI_Framebuffer_Driver.pdf) - [Matt Porter's ST7586S Board Support Changes](https://github.com/ohporter/linux/commits/st7586fb) - [Matt Porter's comments on the ST7586S Controller](https://plus.google.com/+JamesKasper/posts/EtTj24hBao3) - [Matt Porter's Google+ Circle](https://plus.google.com/108244279740379322507/posts/KfWiuzGRRKx) \ No newline at end of file diff --git a/docs/kernel-hackers-notebook/ev3-sound.md b/docs/kernel-hackers-notebook/ev3-sound.md index 4f57852e1..af7dcb1ae 100644 --- a/docs/kernel-hackers-notebook/ev3-sound.md +++ b/docs/kernel-hackers-notebook/ev3-sound.md @@ -12,9 +12,9 @@ title: EV3 Sound ## Device Driver -The driver is implemented as an [ALSA](https://www.kernel.org/doc/Documentation/sound/alsa/) sound driver. There is an [input](https://www.kernel.org/doc/Documentation/input/input.txt) device that is integrated into the ASLA driver to provide a system beep (e.g. ^G). There are also extra attributes for manually controlling tone mode since the input device required root privileges when used from a remote terminal (i.e. ssh). +The driver is implemented as an [ALSA](https://www.kernel.org/doc/html/latest/sound/index.html) sound driver. There is an [input](https://www.kernel.org/doc/Documentation/input/input.txt) device that is integrated into the ASLA driver to provide a system beep (e.g. ^G). There are also extra attributes for manually controlling tone mode since the input device required root privileges when used from a remote terminal (i.e. ssh). ## Notes * We use the PWM in 2 different ways to produce sound. In __Tone__ mode, the PWM is set to an audible frequency (< 20kHz). The sound you hear is the square wave produced by the PWM output. In __PCM Playback__ mode, the PWM is set to a ultrasonic frequency (>20kHz). The output is passed through a low-pass filter, so the input to the amplifier is a voltage proportional to the duty cycle of the PWM. -* There is a Google Summer of Code project where a [student uses PWM to drive a speaker](http://elinux.org/BeagleBoard/GSoC/2010_Projects/Pulse_Width_Modulation). \ No newline at end of file +* There is a Google Summer of Code project where a [student uses PWM to drive a speaker](https://elinux.org/BeagleBoard/GSoC/2010_Projects/Pulse_Width_Modulation). \ No newline at end of file diff --git a/docs/kernel-hackers-notebook/index.md b/docs/kernel-hackers-notebook/index.md index 5f5334d09..7def2b647 100644 --- a/docs/kernel-hackers-notebook/index.md +++ b/docs/kernel-hackers-notebook/index.md @@ -39,13 +39,13 @@ the ev3dev kernel. It is mostly information about the hardware and device driver ### Sensors (Input Devices) -* [Sensor Driver Model](http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#the-lego-sensor-subsytem) -* [List of Sensors](http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#supported-sensors) +* [Sensor Driver Model](https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#the-lego-sensor-subsytem) +* [List of Sensors](https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html#supported-sensors) ### Motors (Output Devices) -* [Motor Driver Model](http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem) -* [List of Motors](http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html) +* [Motor Driver Model](https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem) +* [List of Motors](https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html) ## Software diff --git a/docs/motors/actuonix-l12-ev3-100mm.md b/docs/motors/actuonix-l12-ev3-100mm.md index 8eecfb561..7fd9842bd 100644 --- a/docs/motors/actuonix-l12-ev3-100mm.md +++ b/docs/motors/actuonix-l12-ev3-100mm.md @@ -1,4 +1,4 @@ --- title: Actuonix L12 EV3 100mm (L12-EV3-100) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#act-l12-ev3-100 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#act-l12-ev3-100 --- diff --git a/docs/motors/actuonix-l12-ev3-50mm.md b/docs/motors/actuonix-l12-ev3-50mm.md index 4c8f2a6a3..8643a76e7 100644 --- a/docs/motors/actuonix-l12-ev3-50mm.md +++ b/docs/motors/actuonix-l12-ev3-50mm.md @@ -1,4 +1,4 @@ --- title: Actuonix L12 EV3 50mm (L12-EV3-50) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#act-l12-ev3-50 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#act-l12-ev3-50 --- diff --git a/docs/motors/index.md b/docs/motors/index.md index 805f92dc6..ade5af4cf 100644 --- a/docs/motors/index.md +++ b/docs/motors/index.md @@ -1,4 +1,4 @@ --- title: Motors -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html --- diff --git a/docs/motors/lego-e-motor.md b/docs/motors/lego-e-motor.md index ead6ad6d7..2b92ed7ad 100644 --- a/docs/motors/lego-e-motor.md +++ b/docs/motors/lego-e-motor.md @@ -1,4 +1,4 @@ --- title: LEGO E-Motor (9670) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-9670 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-9670 --- diff --git a/docs/motors/lego-ev3-large-servo-motor.md b/docs/motors/lego-ev3-large-servo-motor.md index 0b73342c0..8e1578a83 100644 --- a/docs/motors/lego-ev3-large-servo-motor.md +++ b/docs/motors/lego-ev3-large-servo-motor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Large Servo Motor (45502) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-ev3-l-motor +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-ev3-l-motor --- diff --git a/docs/motors/lego-ev3-medium-servo-motor.md b/docs/motors/lego-ev3-medium-servo-motor.md index ea5e7c022..c2253fde3 100644 --- a/docs/motors/lego-ev3-medium-servo-motor.md +++ b/docs/motors/lego-ev3-medium-servo-motor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Medium Servo Motor (45503) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-ev3-m-motor +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-ev3-m-motor --- diff --git a/docs/motors/lego-interactive-servo-motor-nxt.md b/docs/motors/lego-interactive-servo-motor-nxt.md index 068ab6b7b..ffbb51a90 100644 --- a/docs/motors/lego-interactive-servo-motor-nxt.md +++ b/docs/motors/lego-interactive-servo-motor-nxt.md @@ -1,4 +1,4 @@ --- title: LEGO Interactive Servo Motor (NXT) (9842) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-nxt-motor +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-nxt-motor --- diff --git a/docs/motors/lego-motor-9v-micromotor.md b/docs/motors/lego-motor-9v-micromotor.md index db08cb4f1..9184b5ec5 100644 --- a/docs/motors/lego-motor-9v-micromotor.md +++ b/docs/motors/lego-motor-9v-micromotor.md @@ -1,4 +1,4 @@ --- title: LEGO Motor 9V Micromotor (70823) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-70823 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-70823 --- diff --git a/docs/motors/lego-motor-9v-mini-motor-newer-lighter-weight.md b/docs/motors/lego-motor-9v-mini-motor-newer-lighter-weight.md index 63bfec4e5..3570fdf9c 100644 --- a/docs/motors/lego-motor-9v-mini-motor-newer-lighter-weight.md +++ b/docs/motors/lego-motor-9v-mini-motor-newer-lighter-weight.md @@ -1,4 +1,4 @@ --- title: LEGO Motor 9V Mini-motor, newer lighter weight (43362) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-43362 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-43362 --- diff --git a/docs/motors/lego-motor-9v-mini-motor-older-heavier-weight.md b/docs/motors/lego-motor-9v-mini-motor-older-heavier-weight.md index 2bbe6d51d..9b848997e 100644 --- a/docs/motors/lego-motor-9v-mini-motor-older-heavier-weight.md +++ b/docs/motors/lego-motor-9v-mini-motor-older-heavier-weight.md @@ -1,4 +1,4 @@ --- title: LEGO Motor 9V Mini-motor, older heavier weight (71427) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-71427 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-71427 --- diff --git a/docs/motors/lego-power-functions-l-motor.md b/docs/motors/lego-power-functions-l-motor.md index 5576f1cc8..47d0d5c73 100644 --- a/docs/motors/lego-power-functions-l-motor.md +++ b/docs/motors/lego-power-functions-l-motor.md @@ -1,4 +1,4 @@ --- title: LEGO Power Functions L-Motor (88003) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-88003 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-88003 --- diff --git a/docs/motors/lego-power-functions-m-motor.md b/docs/motors/lego-power-functions-m-motor.md index dc076bd94..630cd137f 100644 --- a/docs/motors/lego-power-functions-m-motor.md +++ b/docs/motors/lego-power-functions-m-motor.md @@ -1,4 +1,4 @@ --- title: LEGO Power Functions M-Motor (8883) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-8883 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-8883 --- diff --git a/docs/motors/lego-power-functions-servo-motor.md b/docs/motors/lego-power-functions-servo-motor.md index 4b0dcac69..aaddf2236 100644 --- a/docs/motors/lego-power-functions-servo-motor.md +++ b/docs/motors/lego-power-functions-servo-motor.md @@ -1,4 +1,4 @@ --- title: LEGO Power Functions Servo Motor (88004) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-88004 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-88004 --- diff --git a/docs/motors/lego-power-functions-train-motor.md b/docs/motors/lego-power-functions-train-motor.md index 9f22ca0bb..79cc5389b 100644 --- a/docs/motors/lego-power-functions-train-motor.md +++ b/docs/motors/lego-power-functions-train-motor.md @@ -1,4 +1,4 @@ --- title: LEGO Power Functions Train Motor (88002) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-88002 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-88002 --- diff --git a/docs/motors/lego-power-functions-xl-motor.md b/docs/motors/lego-power-functions-xl-motor.md index ab112a15f..7c01f7773 100644 --- a/docs/motors/lego-power-functions-xl-motor.md +++ b/docs/motors/lego-power-functions-xl-motor.md @@ -1,4 +1,4 @@ --- title: LEGO Power Functions XL-Motor (8882) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-8882 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-8882 --- diff --git a/docs/motors/lego-technic-motor-9v-geared.md b/docs/motors/lego-technic-motor-9v-geared.md index 765e43583..9e7ab169c 100644 --- a/docs/motors/lego-technic-motor-9v-geared.md +++ b/docs/motors/lego-technic-motor-9v-geared.md @@ -1,4 +1,4 @@ --- title: LEGO Technic Motor 9V Geared (47154) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-47154 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-47154 --- diff --git a/docs/motors/lego-technic-motor-9v.md b/docs/motors/lego-technic-motor-9v.md index 462988ace..5032a5054 100644 --- a/docs/motors/lego-technic-motor-9v.md +++ b/docs/motors/lego-technic-motor-9v.md @@ -1,4 +1,4 @@ --- title: LEGO Technic Motor 9V (74569) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-74569 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motor_data.html#lego-74569 --- diff --git a/docs/networking.md b/docs/networking.md index bffc549fc..c09967e12 100644 --- a/docs/networking.md +++ b/docs/networking.md @@ -14,8 +14,8 @@ wired Ethernet port to connect for the first time through a remote SSH session. An alternative method is to connect the pi to an HDMI screen monitor and USB keyboard and press Ctrl+Alt+F6 at the end of the boot sequence to reach a login prompt (id: robot, password: maker). Once -connected, you can then set up additional connections using -[`connmanctl`](/docs/tutorials/setting-up-wifi-using-the-command-line/) commands. +connected, you can then set up additional connections [using the command line +](/docs/tutorials/setting-up-wifi-using-the-command-line/){: .alert-link }. {: class="alert alert-info"} @@ -43,6 +43,11 @@ Once you have plugged in a dongle, you can use Brickman's you check the "**Powered**" box so that it starts searching for Wi-Fi networks, and then choose the one you want from the list that appears. +{% include /style/icon.html type="info" %} +If you have a long Wi-Fi password, we *highly* recommend using a direct USB +connection then [use the command line in a terminal to enter your passphrase +](/docs/tutorials/setting-up-wifi-using-the-command-line/){: .alert-link } +{: class="alert alert-info"} ### With USB through a PC diff --git a/docs/platform-comparison.md b/docs/platform-comparison.md index 2ffc238bb..37281a733 100644 --- a/docs/platform-comparison.md +++ b/docs/platform-comparison.md @@ -18,8 +18,8 @@ platforms and their features. Website - mindstorms.lego.com - dexterindustries.com + education.lego.com + dexterindustries.com mindsensors.com fatcatlab.com questforspace.com @@ -225,8 +225,8 @@ platforms and their features. Port Addresses outA
    outB
    outC
    outD - ttyAMA0:M1
    ttyAMA0:M2
    ttyAMA0:M3
    ttyAMA0:M4 - spi0.1:M1
    spi0.1:M2
    spi0.1:M3
    spi0.1:M4 + ttyAMA0:MA
    ttyAMA0:MB
    ttyAMA0:MC
    ttyAMA0:MD + spi0.1:MA
    spi0.1:MB
    spi0.1:MC
    spi0.1:MD pistorms:BAM1
    pistorms:BAM2
    pistorms:BBM1
    pistorms:BBM2 evb:outA
    evb:outB
    evb:outC
    evb:outD @@ -268,7 +268,7 @@ platforms and their features. 16 bpp, with adjustable backlight. [^brickpi-display]: It is possible to stack a display on top of BrickPi. - [Blog.](http://lechnology.com/2016/05/adding-a-display-to-brickpi) + [Blog.](https://lechnology.com/2016/05/adding-a-display-to-brickpi) [^evb-buttons]: EVB and QuestCape cannot detect simultaneous button presses. diff --git a/docs/ports/brickpi-in-port-5.md b/docs/ports/brickpi-in-port-5.md index e10ed822a..bda817b28 100644 --- a/docs/ports/brickpi-in-port-5.md +++ b/docs/ports/brickpi-in-port-5.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi Input Port 5 -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#brickpi-in-port-5 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#brickpi-in-port-5 --- diff --git a/docs/ports/brickpi-in-port.md b/docs/ports/brickpi-in-port.md index 3bc77e5c9..53a98bda7 100644 --- a/docs/ports/brickpi-in-port.md +++ b/docs/ports/brickpi-in-port.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi Input Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#input-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#input-ports --- diff --git a/docs/ports/brickpi-out-port.md b/docs/ports/brickpi-out-port.md index bcdb87c3c..4c8b03fef 100644 --- a/docs/ports/brickpi-out-port.md +++ b/docs/ports/brickpi-out-port.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi Output Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#output-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi.html#output-ports --- diff --git a/docs/ports/brickpi3-in-port.md b/docs/ports/brickpi3-in-port.md index 53669d57a..b523b6cd1 100644 --- a/docs/ports/brickpi3-in-port.md +++ b/docs/ports/brickpi3-in-port.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi3 Input Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi3.html#input-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi3.html#input-ports --- diff --git a/docs/ports/brickpi3-out-port.md b/docs/ports/brickpi3-out-port.md index 5bf848947..e45670fe8 100644 --- a/docs/ports/brickpi3-out-port.md +++ b/docs/ports/brickpi3-out-port.md @@ -1,4 +1,4 @@ --- title: Dexter Industries BrickPi3 Output Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi3.html#output-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/brickpi3.html#output-ports --- diff --git a/docs/ports/ht-nxt-smux-port.md b/docs/ports/ht-nxt-smux-port.md index 90905db64..32eca0ad9 100644 --- a/docs/ports/ht-nxt-smux-port.md +++ b/docs/ports/ht-nxt-smux-port.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Sensor Multiplexer Input Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#hitechnic-sensor-multiplexer +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#hitechnic-sensor-multiplexer --- diff --git a/docs/ports/index.md b/docs/ports/index.md index 2555a8123..765ba6fb2 100644 --- a/docs/ports/index.md +++ b/docs/ports/index.md @@ -1,4 +1,4 @@ --- title: Input and Output Ports -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ports.html +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ports.html --- diff --git a/docs/ports/legoev3-input-port.md b/docs/ports/legoev3-input-port.md index e4759a218..7c81aee15 100644 --- a/docs/ports/legoev3-input-port.md +++ b/docs/ports/legoev3-input-port.md @@ -1,4 +1,4 @@ --- title: EV3 Input Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ev3.html#input-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ev3.html#input-ports --- diff --git a/docs/ports/legoev3-output-port.md b/docs/ports/legoev3-output-port.md index 924feeba4..f670888af 100644 --- a/docs/ports/legoev3-output-port.md +++ b/docs/ports/legoev3-output-port.md @@ -1,4 +1,4 @@ --- title: EV3 Output Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ev3.html#output-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/ev3.html#output-ports --- diff --git a/docs/ports/ms-ev3-smux-port.md b/docs/ports/ms-ev3-smux-port.md index 41b211de4..52dbf1436 100644 --- a/docs/ports/ms-ev3-smux-port.md +++ b/docs/ports/ms-ev3-smux-port.md @@ -1,4 +1,4 @@ --- title: mindsensors.com EV3 Sensor Multiplexer Input Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#ev3-sensor-multiplexer-for-ev3-or-nxt +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#ev3-sensor-multiplexer-for-ev3-or-nxt --- diff --git a/docs/ports/ms-nxtmmx-out-port.md b/docs/ports/ms-nxtmmx-out-port.md index 72b933fb6..0345ceb1f 100644 --- a/docs/ports/ms-nxtmmx-out-port.md +++ b/docs/ports/ms-nxtmmx-out-port.md @@ -1,4 +1,4 @@ --- title: mindsensors.com NXTMMX Output Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#multiplexer-for-nxt-ev3-motors +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/muxs.html#multiplexer-for-nxt-ev3-motors --- diff --git a/docs/ports/pistorms-in-port.md b/docs/ports/pistorms-in-port.md index 6bd22a1f6..92ec3b097 100644 --- a/docs/ports/pistorms-in-port.md +++ b/docs/ports/pistorms-in-port.md @@ -1,4 +1,4 @@ --- title: mindsensors.com PiStorms Input Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/pistorms.html#input-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/pistorms.html#input-ports --- diff --git a/docs/ports/pistorms-out-port.md b/docs/ports/pistorms-out-port.md index cab37963f..5e9b5c9ec 100644 --- a/docs/ports/pistorms-out-port.md +++ b/docs/ports/pistorms-out-port.md @@ -1,4 +1,4 @@ --- title: mindsensors.com PiStorms Output Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/pistorms.html#output-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/pistorms.html#output-ports --- diff --git a/docs/ports/wedo-port.md b/docs/ports/wedo-port.md index ecb4da100..7cced5018 100644 --- a/docs/ports/wedo-port.md +++ b/docs/ports/wedo-port.md @@ -1,4 +1,4 @@ --- title: LEGO WeDo Port -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/wedo.html#i-o-ports +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/wedo.html#i-o-ports --- diff --git a/docs/programming-languages.md b/docs/programming-languages.md index 982421f5c..1d38837aa 100644 --- a/docs/programming-languages.md +++ b/docs/programming-languages.md @@ -21,9 +21,9 @@ the programming languages page! ## Python - + -Python is a high-level, general-purpose, interpreted scripting language. It is +[Python] is a high-level, general-purpose, interpreted scripting language. It is great for beginners, while also powerful for experienced coders. If you are new to programming and unsure which language to choose, Python is a great choice! @@ -32,25 +32,53 @@ If you are just starting programming ev3dev, take a look at users of the LEGO MINDSTORMS EV3 to begin using the ev3dev Python programming language to control their robot. +There are also some sample programs at . + **Warning!** There is another Python library named `python-ev3` created by @topikachu which is _not_ the same as this one. When searching for documentation -online, make sure that you are reading about @rhempel's `ev3dev-lang-python`. +online, make sure that you are reading about `ev3dev-lang-python`. -[Get started with Python](https://github.com/rhempel/ev3dev-lang-python){: .btn .btn-default } +[Get started with Python](https://github.com/ev3dev/ev3dev-lang-python){: .btn .btn-default } -## JavaScript - +[Python]: https://www.python.org + +## MicroPython + + +[MicroPython] is a stripped down variant of the Python programming language. +This brings some advantages, like programs starting significantly faster than +regular Python, but comes at the cost at not being fully compatible with code +written for regular Python. + +MicroPython works as a different Python interpreter, rather than as a library. +It can be invoked by running it from the command line, for example: +`micropython -c "import sys; print(sys.version)"` or +`micropython -c "from ev3dev2.sound import Sound; Sound().speak('hello world')"`. +You may add this as the first line of your Python script to run it with MicroPython: +`#!/usr/bin/env micropython`. + +**TIP:** `ev3dev-lang-python` is also partially compatible with MicroPython. + +[Pybricks] is a specialized version of MicroPython for LEGO MINDSTORMS and LEGO +Powered Up smart hubs. Pybricks v2.0 is used by LEGO Education as their [Python +for EV3](https://education.lego.com/en-us/product-resources/mindstorms-ev3/teacher-resources/python-for-ev3) +solution and is the same version that is available in ev3dev-stretch. + +You may run Pybricks from command line like this: +`brickrun -r -- pybricks-micropython -c "from pybricks.hubs import EV3Brick; EV3Brick().speaker.beep()"`. +You may add this as the first line of your Python script, +`#!/usr/bin/env pybricks-micropython`, +and then run it from the brick's file browser to run it with Pybricks. + +**TIP:** If you are into using Python's interactive mode when trying Pybricks, +you can use `brickrun -r -- pybricks-micropython`, or its shortcut `pybricks-repl`. -JavaScript is the scripting language of the Web. With a program called Node.js, -you can write JavaScript that can be run locally like any other scripting -language. JavaScript with Node.js is great for writing web servers and other -asynchronous programs which don't need to run tight loops or precise timers. It -has a syntax similar to that of C and related languages, and is relatively easy -to learn. +[Get started with MicroPython](https://pybricks.github.io/ev3-micropython/){: .btn .btn-default } -[Get started with JavaScript](https://github.com/wasabifan/ev3dev-lang-js){: .btn .btn-default } +[MicroPython]: https://micropython.org +[Pybricks]: https://pybricks.com -## Java (LeJOS-compatible) +## Java Java is a general-purpose computer programming language that is concurrent, class-based and object-oriented. In Java 8, the language added some functional features very interesting to learn. @@ -89,6 +117,14 @@ C-based code. It is very lightweight and often the most portable across platform [Get started with C](https://github.com/in4lio/ev3dev-c){: .btn .btn-default } +## Prolog + + +Prolog is a logic programming language that is often used in the context of AI +and planning. Prolog programs allow for a high level of abstraction and a mix +of declarative and imperative programming. + +[Get started with Prolog](https://github.com/maweki/ev3dev-prolog){: .btn .btn-default } ## Vala, Genie and other GObject-based languages with ev3devKit @@ -103,6 +139,15 @@ this library. [Get started with ev3devKit](https://github.com/ev3dev/ev3devKit){: .btn .btn-default } +## Rust + + +Rust is a low-level, compiled language which is highly performant while still +providing modern language features. It provides memory safety without using +garbage collection and is easy to interact with existing C libraries. + +[Get started with Rust](https://github.com/pixix4/ev3dev-lang-rust){: .btn .btn-default } +

    @@ -134,6 +179,10 @@ contributing to it to get it updated and ready to use. {% include /style/end-panel.html %} + +## JavaScript + + ## C\# diff --git a/docs/sensors/charmed-labs-pixy-cmucam5-for-lego.md b/docs/sensors/charmed-labs-pixy-cmucam5-for-lego.md index 217a3ef01..c91aab00c 100644 --- a/docs/sensors/charmed-labs-pixy-cmucam5-for-lego.md +++ b/docs/sensors/charmed-labs-pixy-cmucam5-for-lego.md @@ -1,4 +1,4 @@ --- title: Charmed Labs Pixy (CMUcam5) for LEGO -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pixy-lego +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pixy-lego --- diff --git a/docs/sensors/dexter-industries-dflex.md b/docs/sensors/dexter-industries-dflex.md index 5b60c55f4..e94942a65 100644 --- a/docs/sensors/dexter-industries-dflex.md +++ b/docs/sensors/dexter-industries-dflex.md @@ -1,4 +1,4 @@ --- title: Dexter Industries dFlex -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#di-dflex +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#di-dflex --- diff --git a/docs/sensors/fatcatlab-9dof-sensor.md b/docs/sensors/fatcatlab-9dof-sensor.md index 8c8d9ff98..d4783dd2f 100644 --- a/docs/sensors/fatcatlab-9dof-sensor.md +++ b/docs/sensors/fatcatlab-9dof-sensor.md @@ -1,4 +1,4 @@ --- title: Fatcatlab 9DOF Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-9dof +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-9dof --- diff --git a/docs/sensors/fatcatlab-adc-adapter.md b/docs/sensors/fatcatlab-adc-adapter.md index b185a8eb2..cda75e8fa 100644 --- a/docs/sensors/fatcatlab-adc-adapter.md +++ b/docs/sensors/fatcatlab-adc-adapter.md @@ -1,4 +1,4 @@ --- title: Fatcatlab ADC Adapter -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-adc +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-adc --- diff --git a/docs/sensors/fatcatlab-altitude-sensor.md b/docs/sensors/fatcatlab-altitude-sensor.md index 9b66ef831..6c4f4d0f5 100644 --- a/docs/sensors/fatcatlab-altitude-sensor.md +++ b/docs/sensors/fatcatlab-altitude-sensor.md @@ -1,5 +1,5 @@ --- title: Fatcatlab Altitude Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-altitude +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-altitude --- diff --git a/docs/sensors/fatcatlab-gesture-sensor.md b/docs/sensors/fatcatlab-gesture-sensor.md index 917444009..d5c5a14dc 100644 --- a/docs/sensors/fatcatlab-gesture-sensor.md +++ b/docs/sensors/fatcatlab-gesture-sensor.md @@ -1,4 +1,4 @@ --- title: Fatcatlab Gesture Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-gesture +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-gesture --- diff --git a/docs/sensors/fatcatlab-humidity-sensor.md b/docs/sensors/fatcatlab-humidity-sensor.md index 41dd820d6..6c37b45b4 100644 --- a/docs/sensors/fatcatlab-humidity-sensor.md +++ b/docs/sensors/fatcatlab-humidity-sensor.md @@ -1,4 +1,4 @@ --- title: Fatcatlab Humidity Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-humidity +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-humidity --- diff --git a/docs/sensors/fatcatlab-ir-receiver.md b/docs/sensors/fatcatlab-ir-receiver.md index 0e9e1aa7b..a4420870d 100644 --- a/docs/sensors/fatcatlab-ir-receiver.md +++ b/docs/sensors/fatcatlab-ir-receiver.md @@ -1,4 +1,4 @@ --- title: Fatcatlab IR Receiver -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-ir +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-ir --- diff --git a/docs/sensors/fatcatlab-light-sensor.md b/docs/sensors/fatcatlab-light-sensor.md index 14e267db2..0bd99ce74 100644 --- a/docs/sensors/fatcatlab-light-sensor.md +++ b/docs/sensors/fatcatlab-light-sensor.md @@ -1,4 +1,4 @@ --- title: Fatcatlab Light Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-light +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#fcl-light --- diff --git a/docs/sensors/generic-ev3-analog-sensor.md b/docs/sensors/generic-ev3-analog-sensor.md index 34b6b28b1..116907e4e 100644 --- a/docs/sensors/generic-ev3-analog-sensor.md +++ b/docs/sensors/generic-ev3-analog-sensor.md @@ -1,4 +1,4 @@ --- title: Generic EV3 Analog Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ev3-analog-XX +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ev3-analog-XX --- diff --git a/docs/sensors/generic-nxt-analog-sensor.md b/docs/sensors/generic-nxt-analog-sensor.md index 7d680faad..b0476a3e0 100644 --- a/docs/sensors/generic-nxt-analog-sensor.md +++ b/docs/sensors/generic-nxt-analog-sensor.md @@ -1,4 +1,4 @@ --- title: Generic NXT Analog Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#nxt-analog +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#nxt-analog --- diff --git a/docs/sensors/hitechnic-nxt-acceleration-tilt-sensor.md b/docs/sensors/hitechnic-nxt-acceleration-tilt-sensor.md index cf0f2207d..1d2de133d 100644 --- a/docs/sensors/hitechnic-nxt-acceleration-tilt-sensor.md +++ b/docs/sensors/hitechnic-nxt-acceleration-tilt-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Acceleration / Tilt Sensor (NAC1040) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-accel +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-accel --- diff --git a/docs/sensors/hitechnic-nxt-angle-sensor.md b/docs/sensors/hitechnic-nxt-angle-sensor.md index 0476fbbb2..a8af55ec7 100644 --- a/docs/sensors/hitechnic-nxt-angle-sensor.md +++ b/docs/sensors/hitechnic-nxt-angle-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Angle Sensor (NAA1030) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-angle +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-angle --- diff --git a/docs/sensors/hitechnic-nxt-barometric-sensor.md b/docs/sensors/hitechnic-nxt-barometric-sensor.md index 3d0c8ae35..9fef798ed 100644 --- a/docs/sensors/hitechnic-nxt-barometric-sensor.md +++ b/docs/sensors/hitechnic-nxt-barometric-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Barometric Sensor (NBR1036) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-barometric +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-barometric --- diff --git a/docs/sensors/hitechnic-nxt-color-sensor-v2.md b/docs/sensors/hitechnic-nxt-color-sensor-v2.md index a806bee9d..19ba0c65f 100644 --- a/docs/sensors/hitechnic-nxt-color-sensor-v2.md +++ b/docs/sensors/hitechnic-nxt-color-sensor-v2.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Color Sensor V2 (NCO1038) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-color-v2 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-color-v2 --- diff --git a/docs/sensors/hitechnic-nxt-color-sensor.md b/docs/sensors/hitechnic-nxt-color-sensor.md index 6c5d66a9c..27161ffbb 100644 --- a/docs/sensors/hitechnic-nxt-color-sensor.md +++ b/docs/sensors/hitechnic-nxt-color-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Color Sensor -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-color +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-color --- diff --git a/docs/sensors/hitechnic-nxt-compass-sensor.md b/docs/sensors/hitechnic-nxt-compass-sensor.md index 6480f3823..a7cf60307 100644 --- a/docs/sensors/hitechnic-nxt-compass-sensor.md +++ b/docs/sensors/hitechnic-nxt-compass-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Compass Sensor (NMC1034) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-compass +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-compass --- diff --git a/docs/sensors/hitechnic-nxt-eopd.md b/docs/sensors/hitechnic-nxt-eopd.md index 6a88475d5..67ad713d9 100644 --- a/docs/sensors/hitechnic-nxt-eopd.md +++ b/docs/sensors/hitechnic-nxt-eopd.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT EOPD (NEO1048) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-eopd +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-eopd --- diff --git a/docs/sensors/hitechnic-nxt-force-sensor.md b/docs/sensors/hitechnic-nxt-force-sensor.md index cadf7cdf0..d4507c4da 100644 --- a/docs/sensors/hitechnic-nxt-force-sensor.md +++ b/docs/sensors/hitechnic-nxt-force-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Force Sensor (NFS1074) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-force +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-force --- diff --git a/docs/sensors/hitechnic-nxt-gyro-sensor.md b/docs/sensors/hitechnic-nxt-gyro-sensor.md index 39d9528d2..375db6536 100644 --- a/docs/sensors/hitechnic-nxt-gyro-sensor.md +++ b/docs/sensors/hitechnic-nxt-gyro-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Gyro Sensor (NGY1044) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-gyro +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-gyro --- diff --git a/docs/sensors/hitechnic-nxt-irlink-sensor.md b/docs/sensors/hitechnic-nxt-irlink-sensor.md index d59827f72..5e62356ae 100644 --- a/docs/sensors/hitechnic-nxt-irlink-sensor.md +++ b/docs/sensors/hitechnic-nxt-irlink-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT IRLink Sensor (NIL1046) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-ir-link +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-ir-link --- diff --git a/docs/sensors/hitechnic-nxt-irreceiver-sensor.md b/docs/sensors/hitechnic-nxt-irreceiver-sensor.md index 0b8915519..484bc2afa 100644 --- a/docs/sensors/hitechnic-nxt-irreceiver-sensor.md +++ b/docs/sensors/hitechnic-nxt-irreceiver-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT IRReceiver Sensor (NIR1032) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-ir-receiver +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-ir-receiver --- diff --git a/docs/sensors/hitechnic-nxt-irseeker-v2.md b/docs/sensors/hitechnic-nxt-irseeker-v2.md index 01eadee03..68c92270e 100644 --- a/docs/sensors/hitechnic-nxt-irseeker-v2.md +++ b/docs/sensors/hitechnic-nxt-irseeker-v2.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT IRSeeker V2 (NSK1042) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-ir-seek-v2 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-ir-seek-v2 --- diff --git a/docs/sensors/hitechnic-nxt-magnetic-sensor.md b/docs/sensors/hitechnic-nxt-magnetic-sensor.md index 0423fbc18..e5798dbc7 100644 --- a/docs/sensors/hitechnic-nxt-magnetic-sensor.md +++ b/docs/sensors/hitechnic-nxt-magnetic-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Magnetic Sensor (NMS1035) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-mag +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-mag --- diff --git a/docs/sensors/hitechnic-nxt-pir-sensor.md b/docs/sensors/hitechnic-nxt-pir-sensor.md index 59479c9d9..5bccc1c8b 100644 --- a/docs/sensors/hitechnic-nxt-pir-sensor.md +++ b/docs/sensors/hitechnic-nxt-pir-sensor.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT PIR Sensor (NIS1070) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-pir +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-pir --- diff --git a/docs/sensors/hitechnic-nxt-sensor-multiplexer.md b/docs/sensors/hitechnic-nxt-sensor-multiplexer.md index fcfeaff15..80cc4d80e 100644 --- a/docs/sensors/hitechnic-nxt-sensor-multiplexer.md +++ b/docs/sensors/hitechnic-nxt-sensor-multiplexer.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT Sensor Multiplexer (NSX2020) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-smux +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-nxt-smux --- diff --git a/docs/sensors/hitechnic-nxt-superpro-prototype-board.md b/docs/sensors/hitechnic-nxt-superpro-prototype-board.md index 79d5ce160..4e8ec5f19 100644 --- a/docs/sensors/hitechnic-nxt-superpro-prototype-board.md +++ b/docs/sensors/hitechnic-nxt-superpro-prototype-board.md @@ -1,4 +1,4 @@ --- title: HiTechnic NXT SuperPro Prototype Board (SPR2010) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-super-pro +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ht-super-pro --- diff --git a/docs/sensors/i2c-sensor-addressing.md b/docs/sensors/i2c-sensor-addressing.md index 86f7c5be4..dd5d30ff4 100644 --- a/docs/sensors/i2c-sensor-addressing.md +++ b/docs/sensors/i2c-sensor-addressing.md @@ -1,4 +1,4 @@ --- title: I2C Sensor Addressing -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/i2c.html#addressing +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/i2c.html#addressing --- diff --git a/docs/sensors/index.md b/docs/sensors/index.md index 943f5bcaf..d1805cd09 100644 --- a/docs/sensors/index.md +++ b/docs/sensors/index.md @@ -1,4 +1,4 @@ --- title: Sensors -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensors.html --- diff --git a/docs/sensors/lego-energy-display.md b/docs/sensors/lego-energy-display.md index d03f1e26d..3f7113d72 100644 --- a/docs/sensors/lego-energy-display.md +++ b/docs/sensors/lego-energy-display.md @@ -1,4 +1,4 @@ --- title: LEGO Energy Display (9668) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-power-storage +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-power-storage --- diff --git a/docs/sensors/lego-ev3-color-sensor.md b/docs/sensors/lego-ev3-color-sensor.md index 99b28c4e9..6f48ee0d0 100644 --- a/docs/sensors/lego-ev3-color-sensor.md +++ b/docs/sensors/lego-ev3-color-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Color Sensor (45506) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-color +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-color --- diff --git a/docs/sensors/lego-ev3-gyro-sensor.md b/docs/sensors/lego-ev3-gyro-sensor.md index d2f4b74af..eaf5ada0b 100644 --- a/docs/sensors/lego-ev3-gyro-sensor.md +++ b/docs/sensors/lego-ev3-gyro-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Gyro Sensor (45505) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-gyro +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-gyro --- diff --git a/docs/sensors/lego-ev3-infrared-sensor.md b/docs/sensors/lego-ev3-infrared-sensor.md index 36c6df32d..1b590f565 100644 --- a/docs/sensors/lego-ev3-infrared-sensor.md +++ b/docs/sensors/lego-ev3-infrared-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Infrared Sensor (45509) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-ir +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-ir --- diff --git a/docs/sensors/lego-ev3-touch-sensor.md b/docs/sensors/lego-ev3-touch-sensor.md index fe9641420..351cb1105 100644 --- a/docs/sensors/lego-ev3-touch-sensor.md +++ b/docs/sensors/lego-ev3-touch-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Touch Sensor (45507) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-touch +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-touch --- diff --git a/docs/sensors/lego-ev3-ultrasonic-sensor.md b/docs/sensors/lego-ev3-ultrasonic-sensor.md index a34c7d360..6e0b35fc8 100644 --- a/docs/sensors/lego-ev3-ultrasonic-sensor.md +++ b/docs/sensors/lego-ev3-ultrasonic-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO EV3 Ultrasonic Sensor (45504) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-us +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-ev3-us --- diff --git a/docs/sensors/lego-nxt-light-sensor.md b/docs/sensors/lego-nxt-light-sensor.md index 8b3391b1b..266e09924 100644 --- a/docs/sensors/lego-nxt-light-sensor.md +++ b/docs/sensors/lego-nxt-light-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO NXT Light Sensor (9844) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-light +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-light --- diff --git a/docs/sensors/lego-nxt-sound-sensor.md b/docs/sensors/lego-nxt-sound-sensor.md index 633c8e1d3..ca50a3f46 100644 --- a/docs/sensors/lego-nxt-sound-sensor.md +++ b/docs/sensors/lego-nxt-sound-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO NXT Sound Sensor (9845) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-sound +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-sound --- diff --git a/docs/sensors/lego-nxt-temperature-sensor.md b/docs/sensors/lego-nxt-temperature-sensor.md index ca0f5bd6b..6c4ba0366 100644 --- a/docs/sensors/lego-nxt-temperature-sensor.md +++ b/docs/sensors/lego-nxt-temperature-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO NXT Temperature Sensor (9749) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-temp +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-temp --- diff --git a/docs/sensors/lego-nxt-touch-sensor.md b/docs/sensors/lego-nxt-touch-sensor.md index 8ea8f9668..c79da3b27 100644 --- a/docs/sensors/lego-nxt-touch-sensor.md +++ b/docs/sensors/lego-nxt-touch-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO NXT Touch Sensor (9843) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-touch +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-touch --- diff --git a/docs/sensors/lego-nxt-ultrasonic-sensor.md b/docs/sensors/lego-nxt-ultrasonic-sensor.md index 6be73266b..5e3f14f1e 100644 --- a/docs/sensors/lego-nxt-ultrasonic-sensor.md +++ b/docs/sensors/lego-nxt-ultrasonic-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO NXT Ultrasonic Sensor (9846) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-us +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#lego-nxt-us --- diff --git a/docs/sensors/lego-wedo-motion-sensor.md b/docs/sensors/lego-wedo-motion-sensor.md index 0471c8fd3..49fbf1da2 100644 --- a/docs/sensors/lego-wedo-motion-sensor.md +++ b/docs/sensors/lego-wedo-motion-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO WeDo Motion Sensor (9583) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#wedo-motion +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#wedo-motion --- diff --git a/docs/sensors/lego-wedo-tilt-sensor.md b/docs/sensors/lego-wedo-tilt-sensor.md index 478c8990b..2dd3d495a 100644 --- a/docs/sensors/lego-wedo-tilt-sensor.md +++ b/docs/sensors/lego-wedo-tilt-sensor.md @@ -1,4 +1,4 @@ --- title: LEGO WeDo Tilt Sensor (9584) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#wedo-tilt +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#wedo-tilt --- diff --git a/docs/sensors/lego-wedo-usb-hub.md b/docs/sensors/lego-wedo-usb-hub.md index c6d2c4354..e90242e1f 100644 --- a/docs/sensors/lego-wedo-usb-hub.md +++ b/docs/sensors/lego-wedo-usb-hub.md @@ -1,4 +1,4 @@ --- title: LEGO WeDo USB Hub (9581) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#wedo-hub +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#wedo-hub --- diff --git a/docs/sensors/microinfinity-digital-gyroscope-and-accelerometer.md b/docs/sensors/microinfinity-digital-gyroscope-and-accelerometer.md index 34e84f731..81fc9a42d 100644 --- a/docs/sensors/microinfinity-digital-gyroscope-and-accelerometer.md +++ b/docs/sensors/microinfinity-digital-gyroscope-and-accelerometer.md @@ -1,4 +1,4 @@ --- title: Microinfinity Digital Gyroscope And Accelerometer (CruizCore XG 1300L) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#mi-xg1300l +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#mi-xg1300l --- diff --git a/docs/sensors/mindsensors.com-8-channel-servo-controller.md b/docs/sensors/mindsensors.com-8-channel-servo-controller.md index 72ab549e5..6a3b1c5b9 100644 --- a/docs/sensors/mindsensors.com-8-channel-servo-controller.md +++ b/docs/sensors/mindsensors.com-8-channel-servo-controller.md @@ -1,4 +1,4 @@ --- title: mindsensors.com 8-channel Servo Controller (NxtServo) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-8ch-servo +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-8ch-servo --- diff --git a/docs/sensors/mindsensors.com-digital-pneumatic-pressure-sensor.md b/docs/sensors/mindsensors.com-digital-pneumatic-pressure-sensor.md index 02261d85a..040d40198 100644 --- a/docs/sensors/mindsensors.com-digital-pneumatic-pressure-sensor.md +++ b/docs/sensors/mindsensors.com-digital-pneumatic-pressure-sensor.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Digital Pneumatic Pressure Sensor (PPS58-Nx) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-pps58-nx +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-pps58-nx --- diff --git a/docs/sensors/mindsensors.com-ev3-sensor-multiplexer.md b/docs/sensors/mindsensors.com-ev3-sensor-multiplexer.md index b3c0a99b6..352109008 100644 --- a/docs/sensors/mindsensors.com-ev3-sensor-multiplexer.md +++ b/docs/sensors/mindsensors.com-ev3-sensor-multiplexer.md @@ -1,4 +1,4 @@ --- title: mindsensors.com EV3 Sensor Multiplexer (EV3SensorMUX) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-ev3-smux +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-ev3-smux --- diff --git a/docs/sensors/mindsensors.com-glidewheel-as.md b/docs/sensors/mindsensors.com-glidewheel-as.md index 50ef67657..b15e48c99 100644 --- a/docs/sensors/mindsensors.com-glidewheel-as.md +++ b/docs/sensors/mindsensors.com-glidewheel-as.md @@ -1,4 +1,4 @@ --- title: mindsensors.com GlideWheel-AS (AngleSensor) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-angle +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-angle --- diff --git a/docs/sensors/mindsensors.com-gyro-multisensitivity-accelerometer-and-compass.md b/docs/sensors/mindsensors.com-gyro-multisensitivity-accelerometer-and-compass.md index 4ba480d34..470b548f2 100644 --- a/docs/sensors/mindsensors.com-gyro-multisensitivity-accelerometer-and-compass.md +++ b/docs/sensors/mindsensors.com-gyro-multisensitivity-accelerometer-and-compass.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Gyro, MultiSensitivity Accelerometer and Compass (AbsoluteIMU(-A/C/G)) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-absolute-imu +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-absolute-imu --- diff --git a/docs/sensors/mindsensors.com-light-sensor-array.md b/docs/sensors/mindsensors.com-light-sensor-array.md index d2d749229..e6614b0ef 100644 --- a/docs/sensors/mindsensors.com-light-sensor-array.md +++ b/docs/sensors/mindsensors.com-light-sensor-array.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Light Sensor Array (LightSensorArray) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-light-array +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-light-array --- diff --git a/docs/sensors/mindsensors.com-line-follower-sensor.md b/docs/sensors/mindsensors.com-line-follower-sensor.md index 664f77af3..05a8f483f 100644 --- a/docs/sensors/mindsensors.com-line-follower-sensor.md +++ b/docs/sensors/mindsensors.com-line-follower-sensor.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Line Follower Sensor (LineLeader) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-line-leader +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-line-leader --- diff --git a/docs/sensors/mindsensors.com-multiplexer-for-nxt-ev3-motors.md b/docs/sensors/mindsensors.com-multiplexer-for-nxt-ev3-motors.md index 450880417..60df3e41b 100644 --- a/docs/sensors/mindsensors.com-multiplexer-for-nxt-ev3-motors.md +++ b/docs/sensors/mindsensors.com-multiplexer-for-nxt-ev3-motors.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Multiplexer for NXT/EV3 Motors (NXTMMX-v2) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxtmmx +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxtmmx --- diff --git a/docs/sensors/mindsensors.com-pixy-adapter-for-mindstorms-ev3-or-nxt.md b/docs/sensors/mindsensors.com-pixy-adapter-for-mindstorms-ev3-or-nxt.md index 329d31a79..239dc4c05 100644 --- a/docs/sensors/mindsensors.com-pixy-adapter-for-mindstorms-ev3-or-nxt.md +++ b/docs/sensors/mindsensors.com-pixy-adapter-for-mindstorms-ev3-or-nxt.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Pixy Adapter for MINDSTORMS EV3 or NXT (PixyAdapter) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-pixy-adapter +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-pixy-adapter --- diff --git a/docs/sensors/mindsensors.com-realtime-clock-for-nxt.md b/docs/sensors/mindsensors.com-realtime-clock-for-nxt.md index a746dc2ca..2b7597452 100644 --- a/docs/sensors/mindsensors.com-realtime-clock-for-nxt.md +++ b/docs/sensors/mindsensors.com-realtime-clock-for-nxt.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Realtime Clock for NXT (RTC-Nx-v3) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ds1307 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ds1307 --- diff --git a/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8574-ic.md b/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8574-ic.md index 9cf9fe31e..7af480f6e 100644 --- a/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8574-ic.md +++ b/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8574-ic.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Sensor building kit for NXT with PCF8574 IC (PCF8574-Nx) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pcf8574 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pcf8574 --- diff --git a/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8591-ic.md b/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8591-ic.md index 022f620eb..fccf0e640 100644 --- a/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8591-ic.md +++ b/docs/sensors/mindsensors.com-sensor-building-kit-for-nxt-with-pcf8591-ic.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Sensor building kit for NXT with PCF8591 IC (PCF8591-Nx) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pcf8591 +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pcf8591 --- diff --git a/docs/sensors/mindsensors.com-touch-sensor-multiplexer-for-nxt-ev3.md b/docs/sensors/mindsensors.com-touch-sensor-multiplexer-for-nxt-ev3.md index 87ab3f531..6bf0ea41b 100644 --- a/docs/sensors/mindsensors.com-touch-sensor-multiplexer-for-nxt-ev3.md +++ b/docs/sensors/mindsensors.com-touch-sensor-multiplexer-for-nxt-ev3.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Touch Sensor Multiplexer for NXT & EV3 (TouchMux) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxt-touch-mux +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxt-touch-mux --- diff --git a/docs/sensors/mindsensors.com-vision-subsystem-v4-for-nxt-or-ev3.md b/docs/sensors/mindsensors.com-vision-subsystem-v4-for-nxt-or-ev3.md index 4b98e53fb..00263082f 100644 --- a/docs/sensors/mindsensors.com-vision-subsystem-v4-for-nxt-or-ev3.md +++ b/docs/sensors/mindsensors.com-vision-subsystem-v4-for-nxt-or-ev3.md @@ -1,4 +1,4 @@ --- title: mindsensors.com Vision Subsystem v4 for NXT or EV3 (NXTCam-v4) -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxtcam +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxtcam --- diff --git a/docs/sensors/using-i2c-sensors.md b/docs/sensors/using-i2c-sensors.md index 734b63786..c00b2c2c2 100644 --- a/docs/sensors/using-i2c-sensors.md +++ b/docs/sensors/using-i2c-sensors.md @@ -1,4 +1,4 @@ --- title: Using I2C Sensors -redirect_to: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/i2c.html +redirect_to: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/i2c.html --- diff --git a/docs/tutorials/connecting-to-ev3dev-with-ssh.md b/docs/tutorials/connecting-to-ev3dev-with-ssh.md index 7fa38e1c4..3795a8e63 100644 --- a/docs/tutorials/connecting-to-ev3dev-with-ssh.md +++ b/docs/tutorials/connecting-to-ev3dev-with-ssh.md @@ -124,5 +124,5 @@ you have configured a network connection before continuing. {: tab-list="os"} -[PuTTY]: http://www.chiark.greenend.org.uk/%7Esgtatham/putty/ -[PuTTY download]: http://www.chiark.greenend.org.uk/~sgtatham/putty/ +[PuTTY]: https://www.chiark.greenend.org.uk/~sgtatham/putty/ +[PuTTY download]: https://www.chiark.greenend.org.uk/~sgtatham/putty/ diff --git a/docs/tutorials/connecting-to-the-internet-via-bluetooth.md b/docs/tutorials/connecting-to-the-internet-via-bluetooth.md index ae6730e0e..4dd6a23a4 100644 --- a/docs/tutorials/connecting-to-the-internet-via-bluetooth.md +++ b/docs/tutorials/connecting-to-the-internet-via-bluetooth.md @@ -3,11 +3,6 @@ title: Connecting to the Internet via Bluetooth group: basic-networking --- -{% include /style/icon.html type="warning" %} -These instructions are for [brickman v0.7.0](/news/2015/12/15/Package-Release/){: .alert-link}. -If you are using an older version, please upgrade. -{: .alert .alert-warning} - * {: tab="Android"}{% include /style/icon.html type="info" %} These instructions were written using Android 4.1.2 but they should work for other versions as well. @@ -255,9 +250,65 @@ If you are using an older version, please upgrade. {% include /util/screenshot.html source="/images/brickman/networking-my-computer-0-disconnect-selected-online.png" %} -* {: tab="Windows"}__HELP WANTED!__ See [issue #287](https://github.com/ev3dev/ev3dev/issues/287). +* {: tab="Windows"}{% include /style/icon.html type="danger" %} + These instructions do not actually result in an Internect connection. As far as we know, + it is not possible to get an Internet connection via Bluetooth using Windows 10. + {: .alert .alert-danger} + + 1. On the EV3, first verify that Bluetooth is powered on. In brickman + open the *Wireless and Networks* menu and select *Bluetooth*. Make sure the + *Powered* checkbox is checked. (The *Visible* checkbox doesn't matter) + The Bluetooth icon next to the battery in the status bar also indicates + that Bluetooth is powered on. + + {% include /util/screenshot.html source="/images/brickman/bluetooth-powered-visible-no-devices.png" %} + + 2. On your host computer, go to: *Start* > *Settings* > *Devices* > *Bluetooth*. Turn Bluethooth *On*. + It should look like this: + + {% include /util/screenshot.html source="/images/windows/10/bluethooth-settings.png" %} + + 3. On the EV3, select *Start Scan* on the *Bluetooth* menu. It should find your + computer. (This could take a while) + + {% include /util/screenshot.html source="/images/brickman/bluetooth-powered-my-computer.png" %} + + 4. Select your computer from the menu and then select the *Pair* button. + (If you don't know how your computer is named, click on *Home* > + *System* > *About*. Here your *PC name* should be listed) On the your + host computer click on ev3dev and then select the *Pair* + + {% include /util/screenshot.html source="/images/brickman/bluetooth-my-computer-not-paired.png" %} + + 5. Confirm the passkey on both devices when requested. + + {% include /util/screenshot.html source="/images/windows/10/bluethooth-confirm-passkey-pc.png" %} + + {% include /util/screenshot.html source="/images/brickman/bluetooth-confirm-passkey.png" %} + + 6. On the EV3, you should have a *Network Connection* button. Select it to + open the network connection settings. (You can also find the connection + in *Wireless and Networks > All Network Connections*) + + {% include /util/screenshot.html source="/images/brickman/bluetooth-my-computer-0-network-connection-selected.png" %} + + 7. Select *Connect* here. You can also check the box for *Connect automatically*. + This way you don't have to connect manually after you reboot. + + {% include /util/screenshot.html source="/images/windows/10/bluethooth-connected-ev3dev.png" %} + + On the host computer it should look like this: + + {% include /util/screenshot.html source="/images/brickman/networking-my-computer-0-connect-selected.png" %} + + 8. *State* should change to *Online* to indicate that the EV3 has an + Internet connection. (This could take a little bit longer.) Now you can + see the IP-address of the EV3 in the status bar. It should be something + like *192.164.137.3* (not as pictured). + + {% include /util/screenshot.html source="/images/brickman/networking-my-computer-0-disconnect-selected-online.png" %} {: tab-list="os"} Now that you have a network connection, you should [connect to your EV3 with SSH](/docs/tutorials/connecting-to-ev3dev-with-ssh) -if you haven't done so already. \ No newline at end of file +if you haven't done so already. diff --git a/docs/tutorials/connecting-to-the-internet-via-usb.md b/docs/tutorials/connecting-to-the-internet-via-usb.md index 4ef38ff5a..70794dd4a 100644 --- a/docs/tutorials/connecting-to-the-internet-via-usb.md +++ b/docs/tutorials/connecting-to-the-internet-via-usb.md @@ -3,11 +3,6 @@ title: Connecting to the Internet via USB group: basic-networking --- -{% include /style/icon.html type="warning" %} -These instructions are for [brickman v0.7.0](/news/2015/12/15/Package-Release/){: .alert-link} and later. -If you are using an older version, please upgrade. -{: .alert .alert-warning} - * {: tab="Mac OSX"}{% include /style/icon.html type="warning" %} If you are using OS X version 10.11, this may or may not work. Let us know about your experience on [Issue #471](https://github.com/ev3dev/ev3dev/issues/471){: .alert-link}. @@ -70,7 +65,8 @@ If you are using an older version, please upgrade. These instructions were written using Ubuntu 15.10 and the default desktop (aka Unity). However, the instructions should work for other versions of Ubuntu and its derivatives as well as other desktops like GNOME Shell, Cinnamon - and MATE. + and MATE. Ubuntu 17.05 needs to have the `dnsmasq` package installed for this + to work (it is not installed by default). {:class="alert alert-info"} 1. On your host computer, with the EV3 connected via USB, open up the @@ -221,24 +217,9 @@ If you are using an older version, please upgrade. {% include /util/screenshot.html source="/images/brickman/networking-connections-wired-only.png" %} - 12. Internet Connection Sharing on Windows is temperamental, so we are going - to use a static IP address to make it a bit more reliable. Select *IPv4* on the menu. - - {% include /util/screenshot.html source="/images/brickman/wired-status-disconnected-ipv4-selected.png" %} - - 13. Select *Change...*. - - {% include /util/screenshot.html source="/images/brickman/wired-status-disconnected-ipv4-empty.png" %} - - 14. Then choose *Load Windows Defaults*. - - {% include /util/screenshot.html source="/images/brickman/networking-load-windows-defaults.png" %} - - 15. The settings on the *IPv4* screen will remain blank because we are not - connected yet. Go back to the previous screen and check the box for - *Connect automatically*. This way you don't have to connect manually - after you reboot. Then select *Connect*. *State* should change to - *Online* to indicate that your EV3 is connected to the Internet. + 12. Check the box for *Connect automatically*. This way you don't have to + connect manually after you reboot. Then select *Connect*. *State* should + change to *Online* to indicate that your EV3 is connected to the Internet. {% include /util/screenshot.html source="/images/brickman/wired-status-online-connect-selected.png" %} {: tab-list="os"} @@ -247,4 +228,4 @@ If you are using an older version, please upgrade. Now that you have a network connection, you should [connect to your EV3 with SSH](/docs/tutorials/connecting-to-ev3dev-with-ssh) -if you haven't done so already. \ No newline at end of file +if you haven't done so already. diff --git a/docs/tutorials/nxtmmx.md b/docs/tutorials/nxtmmx.md index f984fc503..8baed5b9e 100644 --- a/docs/tutorials/nxtmmx.md +++ b/docs/tutorials/nxtmmx.md @@ -30,6 +30,6 @@ Example - set Pass Count to 10: $ echo -e -n "\x$(printf '%x' 10)" | dd bs=1 of=direct seek=0x86 -[mindsensors.com NxtMMX]: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxtmmx -[tacho-motor class]: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem +[mindsensors.com NxtMMX]: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#ms-nxtmmx +[tacho-motor class]: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem [tahco-motor tutorial]: ../tacho-motors diff --git a/docs/tutorials/setting-up-an-nfs-file-share.md b/docs/tutorials/setting-up-an-nfs-file-share.md index f209e905d..823d0f6bc 100644 --- a/docs/tutorials/setting-up-an-nfs-file-share.md +++ b/docs/tutorials/setting-up-an-nfs-file-share.md @@ -1,7 +1,7 @@ --- title: Setting Up an NFS File Share group: advanced-networking -author: [ "@antonvh","@rhempel","JNFitzgerald" ] +author: [ "@antonvh","@rhempel","JNFitzgerald", "Jesko Appelfeller", "@GingerIndustries" ] --- * Table of Contents @@ -30,7 +30,7 @@ The instructions here are for all three platforms Linux, Windows, and OSX - just ## How To Do It - Linux -On your Linux box, you'll need to edit a file called `/etc/exports`. If you don't have this file, then you need to install `nfs-common` or a similar package. +On your Linux box, you'll need to edit a file called `/etc/exports`. If you don't have this file, then you need to install `nfs-common` or a similar package. (If that doesn't work and/or you already have `nfs-common` installed, install `nfs-kernel-server`. Some devices, like the Raspberry Pi, don't have it installed by default. **IMPORTANT: If installing `nfs-kernel-server`, before install create the target directories (`home/youruserid/nfs/ev3dev`). Otherwise, the service will fail to start.**) Open the file and add the following line: @@ -97,56 +97,50 @@ After creating the file, the `nfsd` daemon [should automatically start up][OSXSe If you make changes to `/etc/exports`, activate them with `nfsd update`. -Now update the fstab on the EV3. - ## How To Do It - EV3 -On the EV3 we first need to enable and start NFS modules. Type these commands on the command line: - - systemctl enable nfs-common.service - systemctl start nfs-common.service - systemctl enable rpcbind.service - systemctl start rpcbind.service - -Next you'll need to update a file (as root) called `/etc/fstab`. You should have already set up USB Networking, so `ssh` to the EV3 and run an editor like `vi` or `nano` to edit the file. Here's the line you want to add to `/etc/fstab` - DO NOT TOUCH ANYTHING ELSE IN THERE! +On the client - ev3dev - side, we need to create, test and enable a systemd [systemd.mount] file in order to mount our newly created NFS share. +{% include /style/icon.html type="warning" %} +The classic way of mounting the NFS share via an entry in `/etc/fstab` does not work! It can cause ev3dev to hang during boot up. +{: .alert .alert-warning} - # NOTE - the following examples all use the same IP address for the host, in practice, there would - # be separate addresses for each host! +First off, we need to create our [systemd.mount] file. This file needs to be named after the directory where we want to mount our NSF share, with the slashes replaced by hyphens. For this tutorial, we will mount the NFS share at `/home/robot/nfsshare/` - feel free to change this to suit your needs. - # For the Linux example, it would look like: - 192.168.2.1:/home/hostuserid/nfs/ev3dev /home/robot/nfs/linux nfs users,noauto,rw,vers=3 0 0 - - # For the Windows Hanewin example, it would look like: - 192.168.0.199:\E\Users\James\Dropbox\ev3dev /home/robot/nfs/windows nfs users,noauto,rw,vers=3 0 0 - - # For the OSX example, it would look like: - 192.168.2.1:/Users/youruserid/Public /home/robot/nfs/osx nfs users,noauto,rw,vers=3 0 0 +Create and open the file `/etc/systemd/system/home-robot-nfsshare.mount`. Add the following sections: + [Unit] + Description=Mount an nfs share + After=network.target + + [Mount] + What=192.168.0.10:/path/to/shared/folder + Where=/home/robot/nfsshare + Type=nfs + + [Install] + WantedBy=multi-user.target + +The `[Unit]` section provides a general description of the systemd unit file we have just created. The `After=network.target` line tells systemd to only attempt to mount this after a network connection has been established. -It's not too hard to figure out what's going on here. The host machine with the nfs mount is at `192.168.2.1` and we added `/home/hostuserid/nfs/ev3dev` (or whatever the host is exporting the directory as) to the `/etc/exports` file on that machine. The next section of the line says we want to mount it locally at `/home/ev3userid/nfs/linux`, or whatever directory you choose. +The `[Mount]` section describes what to mount where. For the `What=` line, replace `192.168.0.10` with the IP addres of the computer on which you configured your NFS share and `/path/to/shared/folder` with the folder you have configured to be shared. As stated above, `/home/robot/nfsshare` is the path where we want to mount the NFS share. -The options tell `mount` that: +The `[Install]` section describes, when to start this unit after it has been enabled. `WantedBy=multi-user.target` means that this file will be executed after the system is ready for a user to log in. -- this is an nfs share -- we do not want to automatically mount it at boot time (in case the host is not connected) -- general users are allowed to mount the share -- we want read/write access -- we are using nfs V3 on the host +In order to mount the NFS share, you first need to reload the systemd daemon: -Once you've updated the `/etc/fstab` file, you will need to create the mount points. Since I test `ev3dev` o n all three major platforms, I have separate directories for each nfs host. You probably only need to create one of these, but this script creates all three for me: + sudo systemctl daemon-reload + +Then, we need to start the mount unit we have just created: - mkdir -p ~/nfs/linux - mkdir -p ~/nfs/windows - mkdir -p ~/nfs/osx + sudo systemctl start home-robot-nfsshare.mount + +To verify that everything worked, look into the `/home/robot/nfsshare` directory and check that the files from your NFS share are there. **Note**: The directory `/home/robot/nfsshare` should have been created automatically. -Then all you need to do is mount the share, like this: +If you want your NFS share to be mounted at boot, you need to enable the mount unit by typing: - mount ~/nfs/linux - -...or whichever of the above three directories you want to mount. + sudo systemctl enable home-robot-nfsshare.mount -And then you should be able to see the files on your host computer when you do `ls /home/ev3userid/nfs/ev3dev`! ## References @@ -165,3 +159,4 @@ And then you should be able to see the files on your host computer when you do ` [OSXexports5]: http://www.manpages.info/macosx/exports.5.html [OSXnfsd]: http://www.manpages.info/macosx/nfsd.8.html [OSXshowmount]: http://www.manpages.info/macosx/showmount.8.html +[systemd.mount]: https://manpages.debian.org/jessie/systemd/systemd.mount.5.en.html diff --git a/docs/tutorials/setting-up-wifi-using-the-command-line.md b/docs/tutorials/setting-up-wifi-using-the-command-line.md index 09a401e9d..400d9d079 100644 --- a/docs/tutorials/setting-up-wifi-using-the-command-line.md +++ b/docs/tutorials/setting-up-wifi-using-the-command-line.md @@ -3,19 +3,19 @@ title: Setting Up Wi-Fi Using the Command Line group: basic-networking --- -{% include /style/icon.html type="danger" %} +{% include /style/icon.html type="info" %} You must have another way to connect to your robot first before following this tutorial. On the EV3, that means USB or Bluetooth. If you have a Raspberry Pi, you can plug in a monitor and keyboard to the Raspberry Pi. The instructions below are run on your robot itself. -{:.alert .alert-danger} +{:.alert .alert-info} I like to setup wireless networking on my robots. Robots should go untethered! Here is how. It's easy in an interactive tool call `connmanctl`. You connect once, and next time you boot, it's all configured. On my ev3dev machine it went like this: - robot@ev3dev:~$ sudo connmanctl + robot@ev3dev:~$ connmanctl Error getting VPN connections: The name net.connman.vpn was not provided by any connmanctl> enable wifi Enabled wifi diff --git a/docs/tutorials/tacho-motors.md b/docs/tutorials/tacho-motors.md index 5f3eaf574..8491262a5 100644 --- a/docs/tutorials/tacho-motors.md +++ b/docs/tutorials/tacho-motors.md @@ -379,5 +379,5 @@ motor is not actually moving. This can be caused by something mechanically preventing the motor from rotating or it could mean that the power being sent to the motor is not enough (too small) to make the motor move. -[tacho-motor]: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/motors.html#tacho-motor-subsystem +[tacho-motor]: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/motors.html#tacho-motor-subsystem [tachometer]: https://en.wikipedia.org/wiki/Tachometer diff --git a/docs/tutorials/upgrading-ev3dev.md b/docs/tutorials/upgrading-ev3dev.md index bbd4118e1..87a0a52c7 100644 --- a/docs/tutorials/upgrading-ev3dev.md +++ b/docs/tutorials/upgrading-ev3dev.md @@ -3,11 +3,6 @@ title: Upgrading Ev3dev group: system --- -{% include /style/icon.html type="warning" %} -By upgrading ev3dev you are also upgrading the drivers, so there may be changes that break user software. -You should check the ev3dev [news feed](http://www.ev3dev.org/news/){: .alert-link } for breaking changes before upgrading. -{: .alert .alert-warning} - There are multiple ways that you can upgrade ev3dev. # Option 1: Re-flashing your SD card (fastest) @@ -28,13 +23,13 @@ that other software is up-to-date. before typing the next. Some steps require confirmation to proceed. Press 'y' when asked. - sudo apt-get update - sudo apt-get upgrade - sudo apt-get dist-upgrade + sudo apt update + sudo apt upgrade {% include /style/icon.html type="warning" %} - The `upgrade` step may take a couple hours to complete, depending on your - network connection, hardware and the number of outdated packages. + The `upgrade` step may take anywhere from a couple minutes to a couple hours + to complete, depending on your network connection, hardware and the number of + outdated packages. {: .alert .alert-warning} 2. Reboot by typing `sudo reboot` or by using the "Shutdown..." menu in Brickman @@ -48,8 +43,8 @@ This option will only upgrade core ev3dev packages and not other software. 1. Run the following commands, replacing `linux-image-ev3dev-ev3` as shown below: - sudo apt-get update - sudo apt-get install linux-image-ev3dev-ev3 + sudo apt update + sudo apt install linux-image-ev3dev-ev3 Hardware platform | Package name -----------------------------------|------------- diff --git a/docs/tutorials/using-docker-to-cross-compile.md b/docs/tutorials/using-docker-to-cross-compile.md index 8100e12d3..4a2cd86f8 100644 --- a/docs/tutorials/using-docker-to-cross-compile.md +++ b/docs/tutorials/using-docker-to-cross-compile.md @@ -13,11 +13,7 @@ notebook computer. This means that we get the same versions of all of the librar running on the EV3 but compile with the power of a desktop processor. {: .lead .clearfix} -We are totally new to Docker, so this tutorial is a work in progress. Please -let us know if you have problems or find a better way of doing it! -{: .lead .well} - -[Docker]: http://www.docker.com/ +[Docker]: https://www.docker.com/ {% include /style/icon.html type="warning" %} This will only work on 64-bit operating systems. We do not maintain images for @@ -28,7 +24,7 @@ This will only work on 64-bit operating systems. We do not maintain images for ## Getting Docker Docker has excellent documentation, so we will just send you to their -[download](http://www.docker.com/products/docker) page. Come back when you have +[install](https://docs.docker.com/install/) page. Come back when you have Docker installed for Windows, Mac or Linux. {: .well} @@ -38,7 +34,7 @@ Docker for Linux has quite a bit of information to read. This may help you sort through it. The most important parts are: * Add the Docker package repository -* Install the `docker-engine` package +* Install the `docker-ce` package * Add your user to the `docker` group Also, you will need to install `qemu-user-static` on your host computer, otherwise @@ -51,14 +47,14 @@ you will get an error: `exec user process caused "exec format error"`. We provide a Docker image with the most common developer tools already installed. Download it by running... - docker pull ev3dev/debian-jessie-cross + docker pull ev3dev/debian-stretch-cross This will take some time. The download is nearly 1GB! When it is finished, we can give it a shorter name... - docker tag ev3dev/debian-jessie-cross ev3cc + docker tag ev3dev/debian-stretch-cross ev3cc {% include /style/icon.html type="info" %} Docker images are immutable. You can always revert back to this image after making @@ -109,7 +105,7 @@ This is fine, you can just [download Docker Toolbox instead][docker-toolbox]{: . Docker Toolbox however handles shared drives differently; there is no whale icon in the system tray. Instead, Docker Toolbox automatically allows sharing of your `C:\Users\myname` folder. Also, the path handling is different, you have to use paths in linux style, so the command below has to be changed: -`docker run --rm --it -v /c/Users/myname/example/:/src -w /src ev3cc` +`docker run --rm -it -v /c/Users/myname/example/:/src -w /src ev3cc` {% include /style/end-panel.html %} [docker-toolbox]: https://www.docker.com/products/docker-toolbox @@ -155,6 +151,9 @@ To exit the docker container, simply type... exit +Note: if encountered `/lib/ld-linux.so.3: No such file or directory` error while +running `./hello` in the docker environment, try +`qemu-arm-static -L /usr/arm-linux-gnueabi/ ./hello` ## Advanced Usage @@ -181,11 +180,7 @@ so that you can run builds without starting a new container each time. Although it is possible to run gdb directly on the EV3, you will quickly run out of memory. To get around this, we will do remote debugging. -On your EV3, install `gdbserver`. - - sudo apt-get install gdbserver - -Now, let's debug our "hello world" program. First, we need to make sure we compile +Let's debug our "hello world" program. First, we need to make sure we compile with debugging symbols (thats the `-g` flag). You will need to copy the new executable to the EV3 too if you haven't done the *mounting a remote file system* thing yet. @@ -197,11 +192,10 @@ computer (or VM) and `3333` is an arbitrary TCP port. gdbserver host:3333 hello -Then back in the brickstrap shell run gdb. `target remote` tells gdb to connect -to your EV3. Host name resolution seems to have issues in the brickstrap shell, -so you are better off using the IP address of your EV3 (192.168.0.100 in this -example). And of course, the port number needs to match what you used with -gdbserver. +Then back in the docker container run gdb. `target remote` tells gdb to connect +to your EV3. If you have trouble connecting by hostname, you can use the IP +address of your EV3 instead (192.168.0.100 in this example). And of course, the +port number needs to match what you used with gdbserver. gdb hello diff --git a/docs/tutorials/using-pixy-camera.md b/docs/tutorials/using-pixy-camera.md index ed6007726..bddc4c3cd 100644 --- a/docs/tutorials/using-pixy-camera.md +++ b/docs/tutorials/using-pixy-camera.md @@ -1,5 +1,5 @@ --- -title: Using the CMUcam5 Pixy for LEGO Mindstorms +title: Using Pixy/Pixy2 camera for LEGO Mindstorms group: hardware-extras author: "@KWSmit" --- @@ -9,57 +9,83 @@ author: "@KWSmit" ## Intro -The CMUcam5 Pixy camera is available in a version designed for -LEGO Mindstorms. In this tutorial we explain how to use it with ev3dev -and python. +Both versions of the Pixy camera, Pixy and Pixy2, are available in a special +LEGO version. In this tutorial we explain how to use them on ev3dev and using +Python. -General information about Pixy for LEGO Mindstorms can be found on -Charmed Lab's [wiki-page](http://cmucam.org/projects/cmucam5/wiki/LEGO_Wiki). +General information about Pixy/Pixy2 for LEGO Mindstorms can be found on +Charmed Lab's [wiki-page](https://docs.pixycam.com). -## What you need +On ev3dev there is a difference in using Pixy or Pixy2: ev3dev does contain +a driver for Pixy, but not for Pixy2. But it's easy to use Pixy2 by setting +up direct I2C communication between the EV3 and Pixy2. Both methods will be +explained. At the end of this tutorial you will find a link to a Github +repository containing more detailed information and more examples +(including the linetracking functionality of Pixy2). -* LEGO Mindstorms EV3. -* CMUcam5 Pixy for LEGO Mindstorms, connected to the EV3 with the cable -delivered with your camera. If you have a regular version of CMUcam5 Pixy -you will need a special Pixy adapter for EV3. +## What you need -{% include /style/begin-panel.html type="info" heading="Note" %} -The Pixy camera comes with its own tool: PixyMon. This tool helps -you to set the signatures (objects you want Pixy to detect). To use this tool -you need to connect the camera directly to your PC by using a mini USB cable. -For this you can use the USB cable of your EV3. Beware that when PixyMon -is running on your PC (and the camera is plugged in to your PC), its values -are not updated to the EV3. So before starting your script be sure PixyMon -is not running!{% include /style/end-panel.html %} +* LEGO Mindstorms EV3 running on ev3dev. +* Pixy for LEGO Mindstorms or Pixy2 for LEGO Mindstorms. The camera is +connected to the EV3 with the cable delivered with your Pixy or Pixy2. + +{% include /style/begin-panel.html type="info" heading="Notes" %} + +* The camera comes with its own tool: PixyMon. This tool helps +you to set the signatures (objects you want Pixy/Pixy2 to detect). +To use this tool you need to connect the camera directly to your PC +by using a mini USB cable. When using Pixy, be aware that when PixyMon +is running on your PC and the camera is plugged in to your PC, its +values are not updated to the EV3. So before starting your script on +the EV3 be sure PixyMon is not running! +**This relates to Pixy only, not to Pixy2!** +* To run the scripts from Brickman, be sure it's executable. To make it +executable run ```chmod +x ``` once in the terminal. Also don't forget +the shebang ```#!/usr/bin/env python3``` in the first line of your script. +* When running the scripts in this tutorial from an SSH-terminal, run the script +with the command `brickrun -- python3 your-sript.py`. Reason is that +`brickrun` will take care of switching between consoles to prevent +the userinterface of Brickman to reappear at any time when your script is +running. +{% include /style/end-panel.html %} -## Connecting to the camera and reading data +## Using Pixy for LEGO Mindstorms In python use the `Sensor` class to connect to the Pixy camera: ```python -from ev3dev.ev3 import * -pixy = Sensor(address=INPUT_1) -assert pixy.connected, "Error while connecting Pixy camera to port1" -``` +from time import sleep -In this statement it is assumed the camera is connected to input port 1. -It's recommended to use the ```assert``` statement: when the connection fails -the program ends with a meaningful error message. +from ev3dev2.sensor import Sensor, INPUT_1 +from ev3dev2.port import LegoPort + +# Set LEGO port for Pixy on input port 1 +in1 = LegoPort(INPUT_1) +in1.mode = 'auto' +# Wait 2 secs for the port to get ready +sleep(2) + +# Connect Pixy camera +pixy = Sensor(INPUT_1) +``` + +In this example it is assumed the camera is connected to input port 1. Next set the mode for the camera: ```python -pixy.mode = 'ALL' +# Set mode to detect signature 1 only +pixy.mode = 'SIG1' ``` The Pixy camera has the following modes: -* ALL: the camera searches for all signatures you've set for it. -* SIGn: the camera searches for signature #n (n=1 to 7). +* `ALL`: the camera searches for all signatures you've set for it. +* `SIGn`: the camera searches for signature #n (n=1 to 7). The data which you retrieve from the camera depends on the camera mode. You -can find detailed information on [this page](http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#pixy-lego). -We will explain it to you with some examples. +can find detailed information on [this page](https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensor_data.html#pixy-lego). +We will explain it to you with a simple example. When the mode is set to ```ALL```, you can retrieve data as follows: @@ -82,149 +108,305 @@ w = pixy.value(3) # Width of the largest SIG1-object h = pixy.value(4) # Height of the largest SIG1-object ``` -Below are two practical examples. They are tested with the latest version of -ev3dev (as of 21 Dec 2016) and with CMUcam5 Pixy camera for LEGO Mindstorms. +### Example for Pixy - Display detected object on EV3-LCD -{% include /style/begin-panel.html type="info" heading="Note" %} -To run the scripts form Brickman, be sure it's executable. To make it -executable run ```chmod +x ``` once in the terminal. Also don't forget -the shebang ```#!/usr/bin/env python3``` in the first line of your script. -{% include /style/end-panel.html %} +```python +#!/usr/bin/env python3 +from time import sleep -## Example 1 - Display detected object on EV3-LCD +from ev3dev2.display import Display +from ev3dev2.sensor import Sensor, INPUT_1, INPUT_4 +from ev3dev2.sensor.lego import TouchSensor +from ev3dev2.port import LegoPort -This example uses an EV3 with a Pixy camera and a TouchSenor plugged in. -In this example the camera searches for objects with signature SIG1 -and displays the data graphically on the LCD of the EV3. It draws a -rectangle centered at the X and Y centroid coordinates with measured -width and height. End this script by pressing the TouchSensor. -{% include /style/begin-panel.html type="info" heading="Note" %} -When running this script from the SSH terminal, the Brickman display may -reappear at any time, momentarily or permanently. Furthermore, when the script -stops it may take a while to before the screen reverts back to the Brickman -interface. To prevent this, follow these instructions: - -* Run ```sudo chvt 6``` before starting the script. This will clear the display. -For this command you need the password for robot, which is 'maker' by default. -* Run your script (once or several times). -* Run ```sudo chvt 1``` to bring back the interface of Brickman. -{% include /style/end-panel.html %} +# EV3 Display +lcd = Display() -``` -#!/usr/bin/env python3 -from ev3dev.ev3 import * +# Connect TouchSensor +ts = TouchSensor(INPUT_4) -lcd = Screen() +# Set LEGO port for Pixy on input port 1 +in1 = LegoPort(INPUT_1) +in1.mode = 'auto' +# Wait 2 secs for the port to get ready +sleep(2) # Connect Pixy camera -pixy = Sensor(address=INPUT_1) -assert pixy.connected, "Connecting PixyCam" +pixy = Sensor(INPUT_1) -# Connect TouchSensor -ts = TouchSensor(address=INPUT_4) -assert ts.connected, "Connecting TouchSensor" - -# Set mode +# Set mode to detect signature 1 only pixy.mode = 'SIG1' +# Read and display data until TouchSensor is pressed while not ts.value(): - lcd.clear() - if pixy.value(0) != 0: # Object with SIG1 detected - x = pixy.value(1)  - y = pixy.value(2) - w = pixy.value(3) - h = pixy.value(4) - dx = int(w/2) # Half of the width of the rectangle - dy = int(h/2)   # Half of the height of the rectangle - xb = x + int(w/2)  # X-coordinate of bottom-right corner - yb = y - int(h/2)  # Y-coordinate of the bottom-right corner - lcd.draw.rectangle((xa,ya,xb,yb), fill='black') + # Clear EV3 display + lcd.clear() + # Read values from Pixy + x = pixy.value(1) # X-coordinate of centerpoint of object + y = pixy.value(2) # Y-coordinate of centerpoint of object + w = pixy.value(3) # Width of rectangle around detected object + h = pixy.value(4) # Heigth of rectangle around detected object + # scale to resolution of EV3 display: + # Resolution Pixy while color tracking: (255x199) + # Resolution EV3 display: (178x128) + x *= 0.7 + y *= 0.6 + w *= 0.7 + h *= 0.6 + # Calculate reactangle to draw on EV3-display + dx = int(w/2) # Half of the width of the rectangle + dy = int(h/2) # Half of the height of the rectangle + xa = x - dx # X-coordinate of top-left corner + ya = y + dy # Y-coordinate of the top-left corner + xb = x + dx # X-coordinate of bottom-right corner + yb = y - dy # Y-coordinate of the bottom-right corner + # Draw rectangle on display + lcd.draw.rectangle((xa, ya, xb, yb), fill='black') + # Update display to show rectangle lcd.update() ``` +In this example Pixy is set to mode `SIG1`. The program continuously reads +data from the camera, until the TouchSensor is pressed. When valid data +is received, the program calculates the size and shape of the bouncing box +of the largest detected SIG1 object. Be aware that the resolution of the +Pixy camera and the resolution of the EV3 display are not the same. Pixy's +resolution while color tracking is (255x199) and EV3's resolution is +(178x128). This means you have to scale the values from the Pixy! +To update the bouncing box on the display, first the display needs to be +cleared and then the bouncing box can be redrawn. + This video shows this script running: {% include /util/youtube-embed.html youtube_video_id="b2LZpY1qbKE" %} -## Example 2 - Following an object +## Using Pixy2 for LEGO Mindstorms + +One important difference with the old Pixy is that you have to use Pixy2 +without a driver. An easy way to do this is by using the Python `smbus` +module for setting up direct I2C communication between the EV3 and +the Pixy2. + +First configure Pixy2 to communicate over I2C. For this you can use the +PixyMon tool that comes with Pixy2. Open the configure dialog and click on +the `Interface` tab. + +{% include /style/begin-panel.html type="info" heading="Note" %} +If you don't see the Interface tab, you're probably not running the right +firmware on the Pixy2 camera. Be sure to run the stock version, instead of +the LEGO version. See +[Pixy2 documentation](https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:uploading_new_firmware) how to install firmware. +{% include /style/end-panel.html %} + +![Configure dialog in PixyMon](/images/pixy-tutorial/pixymon-config.png) + +Set `Data out port` to `I2C` and `I2C address` to `0x54` (or any other +address you like). + +In your Python script import the module `smbus`: + +```python +from smbus import SMBus +``` + +Next set the EV3 input port to `other-i2c`: + +```python +from time import sleep + +from ev3dev2.port import LegoPort +from ev3dev2.sensor import INPUT_1 + +# Set LEGO port for Pixy2 on input port 1 +in1 = LegoPort(INPUT_1) +in1.mode = 'other-i2c' +# Short wait for the port to get ready +sleep(0.5) +``` + +Define the I2C-bus: + +* for `INPUT_1`: `SMBus(3)` +* for `INPUT_2`: `SMBus(4)` +* for `INPUT_3`: `SMBus(5)` +* for `INPUT_4`: `SMBus(6)` + +Assume we're using port 1. Don't forget to use the same I2C-address as +configured on the Pixy2 (`0x54`): + + ```python + # Settings for I2C (SMBus(3) for INPUT_1) + bus = SMBus(3) + address = 0x54 +``` -This example uses an EV3 with Pixy camera, two LargeMotors and a TouchSensor. -The robot follows the object with signature SIG1. To stop the program the -user has to press the TouchSensor. +Now everything is set up to request and receive data form Pixy2. You can find +the serial protocol on the +[Pixy2 wiki](https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide#pixy2-serial-protocol-packet-reference). -This example uses a simple implementation for a PID-controller. The example -works very well, but fine tuning of the PID-constants can make the robot -react and move smoother. +Each request starts with the same two bytes `174, 193`. The other bytes depend on the type of request. For instance, when you want to request the firmware version of the camera, your data packet will be (check Pixy2 documentation): +```python +data = [174, 193, 14, 0] ``` + +You send this request to the camera as follows: + +```python +bus.write_i2c_block_data(address, 0, data) +``` + +Now you can read the response: + +```python +block = bus.read_i2c_block_data(address, 0, 13) +``` + +The first parameter in this read function is the I2C-address of the camera. +The second parameter is an offset, which is zero in this case. The third +parameter is the number of bytes that the response contains. As you can +see in the Pixy2 documentation, the version-request returns 13 bytes. +According to the documentation you find the major version in byte 8 and the +minor in byte 9: + +```python +print('Firmware version: {}.{}\n'.format(str(block[8]), str(block[9]))) +``` + +### Example for Pixy2 - Display detected object on EV3-LCD + +This is the same as the previous example, but this time written for Pixy2. +We like to detect objects with signature 1 and display the bouncing box on +the display of the EV3-brick. For this we use `getBlocks()` to receive +information about the detected object (see [Pixy2 documentation](https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide#getblocks-sigmap-maxblocks)). +The data packet for the request is like this: + +```python +data = [174, 193, 32, 2, sigs, 1] +``` + +Where `sigs` is the signature or signatures we're interested in. It is the +sum of all desired signatures. So in case we're only interested in +signature 1 `sigs = 1` and when we're interested in signatures 1, 2 and 3, +then `sigs = 6 (1 + 2 + 3 = 6)`. In this example `sigs = 1`. So the request +looks like this: + +```python +# Request block +bus.write_i2c_block_data(address, 0, data) +``` + +We're only interested in the largest detected object with signature 1, so the +last byte of our data packet has the value 1. To read the response to our +request: + +```python +# Read block +block = bus.read_i2c_block_data(address, 0, 20) +``` + +The response contains 20 bytes, hence the last parameter in +`read_i2c_block_data()` is 20. Now we can extract the desired data: + +```python +x = block[9]*256 + block[8] +y = block[11]*256 + block[10] +w = block[13]*256 + block[12] +h = block[15]*256 + block[14] +``` + +With this information we can calculate and display the bouncing box, +just like in the example for Pixy. Be aware that the resolution of the +Pixy2 camera and the resolution of the EV3 display are not the same. +Pixy2's resolution while color tracking is (316x208) and EV3's resolution +is (178x128). This means you have to scale the values from the Pixy2! + +Full code: + +```python #!/usr/bin/env python3 -from ev3dev.ev3 import * - -def limit_speed(speed): - """ Limit speed in range [-900,900] """ - if speed > 900: - speed = 900 - elif speed < -900: - speed = -900 - return speed - -# Connect Pixy camera and set mode -pixy = Sensor(address = INPUT_1) -assert pixy.connected, "Error while connecting Pixy camera" -pixy.mode = 'SIG1' +from time import sleep +from smbus import SMBus + +from ev3dev2.display import Display +from ev3dev2.sensor import INPUT_1, INPUT_4 +from ev3dev2.sensor.lego import TouchSensor +from ev3dev2.port import LegoPort -# Connect TouchSensor (to stop script) + +# EV3 Display +lcd = Display() + +# Connect ToucSensor ts = TouchSensor(INPUT_4) -assert ts.connected, "Error while connecting TouchSensor" - -# Connect LargeMotors -rmotor = LargeMotor(OUTPUT_A) -assert rmotor.connected, "Error while connecting right motor" -lmotor = LargeMotor(OUTPUT_D) -assert lmotor.connected, "Error while connecting left motor" - -# Defining constants -X_REF = 128  # X-coordinate of referencepoint -Y_REF = 150  # Y-coordinate of referencepoint -KP = 0.4   # Proportional constant PID-controller -KI = 0.01   # Integral constant PID-controller -KD = 0.005   # Derivative constant PID-controller -GAIN = 10   # Gain for motorspeed - -# Initializing PID variables -integral_x = 0 -derivative_x = 0 -last_dx = 0 -integral_y = 0 -derivative_y = 0 -last_dy = 0 +# Set LEGO port for Pixy2 on input port 1 +in1 = LegoPort(INPUT_1) +in1.mode = 'other-i2c' +# Short wait for the port to get ready +sleep(0.5) + +# Settings for I2C (SMBus(3) for INPUT_1) +bus = SMBus(3) +# Make sure the same address is set in Pixy2 +address = 0x54 + +# Signatures we're interested in (SIG1) +sigs = 1 + +# Data for requesting block +data = [174, 193, 32, 2, sigs, 1] + +# Read and display data until TouchSensor is pressed while not ts.value(): - if pixy.value(0) > 0: - x = pixy.value(1) # X-centroid of largest SIG1-object - y = pixy.value(2) # Y-centroid of largest SIG1-object - dx = X_REF - x # Error in reference to X_REF - integral_x = integral_x + dx # Calculate integral for PID - derivative_x = dx - last_dx # Calculate derivative for PID - speed_x = KP*dx + KI*integral_x + KD*derivative_x # Speed in X-direction - dy = Y_REF - y # Error in reference to Y_REF - integral_y = integral_y + dy # Calculate integral for PID - derivative_y = dy - last_dy # Calculate derivative for PID - speed_y = KP*dy + KI*integral_y + KD*derivative_y # Speed in Y-direction - # Calculate motorspeed out of speed_x and speed_y - # Use GAIN otherwise speed will be to slow, but limit in range [-900,900] - rmotor.run_forever(speed_sp = limit_speed(GAIN*(speed_y + speed_x))) - lmotor.run_forever(speed_sp = limit_speed(GAIN*(speed_y - speed_x))) - last_dx = dx     # Set last error for x - last_dy = dy     # Set last error for y - else: - rmotor.stop() # SIG1 not detected, stop motors - lmotor.stop() - -# End of script, stop motors -rmotor.stop() -lmotor.stop() + # Clear display + lcd.clear() + # Request block + bus.write_i2c_block_data(address, 0, data) + # Read block + block = bus.read_i2c_block_data(address, 0, 20) + # Extract data + sig = block[7]*256 + block[6] + x = block[9]*256 + block[8] + y = block[11]*256 + block[10] + w = block[13]*256 + block[12] + h = block[15]*256 + block[14] + # Scale to resolution of EV3 display: + # Resolution Pixy2 while color tracking; (316x208) + # Resolution EV3 display: (178x128) + x *= 0.6 + y *= 0.6 + w *= 0.6 + h *= 0.6 + # Calculate rectangle to draw on display + dx = int(w/2) + dy = int(h/2) + xa = x - dx + ya = y + dy + xb = x + dx + yb = y - dy + # Draw rectangle on display + lcd.draw.rectangle((xa, ya, xb, yb), fill='black') + # Update display to how rectangle + lcd.update() ``` This video shows this script running: -{% include /util/youtube-embed.html youtube_video_id="cDimWUEDwPU" %} +{% include /util/youtube-embed.html youtube_video_id="Wo6f2eQZVSY" %} + +{% include /style/begin-panel.html type="info" heading="Note" %} +When using `smbus` there is one important issue you have to think about: +it is limited to read 32 bytes of data at a time. This is fine for all Pixy2 +functionalities, except for linetracking. The linetracking datablock contains +more bytes of data, so you cannot read it completely in once. Therefore, +first read the header bytes, followed by the bytes containing the feature +data, one feature at a time. This is shown in the example on Github. +{% include /style/end-panel.html %} + +## More info + +* There is a GitHub repository where you can find more detailed information +and sample code about how to use Pixy and Pixy2 on ev3dev. You can find +it here: [GitHub KWSmit/Pixy_ev3dev](https://github.com/KWSmit/Pixy_ev3dev). +* Charmed Lab's wiki about Pixy/Pixy2: +[docs.pixycam.com](https://docs.pixycam.com/) diff --git a/docs/tutorials/using-rpi-camera.md b/docs/tutorials/using-rpi-camera.md index 7a57f74f1..62d12d05a 100644 --- a/docs/tutorials/using-rpi-camera.md +++ b/docs/tutorials/using-rpi-camera.md @@ -19,7 +19,7 @@ Since we don't have `raspi-config` you have to do this manually. Edit Remove the comment (`#`) before `start_x=1` and `gpu_mem=128` (and optionally `disable_camera_led=1`). -See for slightly more info on these options. +See for slightly more info on these options. Save the changes, then reboot the Raspberry Pi. diff --git a/docs/tutorials/using-xv11-lidar.md b/docs/tutorials/using-xv11-lidar.md index a5e87bfe4..0808391cb 100644 --- a/docs/tutorials/using-xv11-lidar.md +++ b/docs/tutorials/using-xv11-lidar.md @@ -238,7 +238,7 @@ If you don't find anything helpful by searching, then create a [new issue]{:targ [JST PH 2.0mm pitch]: http://www.jst-mfg.com/product/detail_e.php?series=199 [xv11lidar-test]: https://github.com/bmegli/xv11lidar-test [xv11hacking]: http://xv11hacking.wikispaces.com/LIDAR+Sensor -[Revo LDS Whitepaper]: http://www.robotshop.com/media/files/PDF/revolds-whitepaper.pdf +[Revo LDS Whitepaper]: https://www.robotshop.com/media/files/PDF/revolds-whitepaper.pdf [laser specs]: https://22eccb839e35374fb256-2040e42aee01271224a32cb55734f01b.ssl.cf2.rackcdn.com/wp-content/uploads/2015/04/Important_Information_XV_Series_3-language_EN-FR-ES_low1.pdf [laser safety class 1]: https://en.wikipedia.org/wiki/Laser_safety#Class_1 diff --git a/docs/tutorials/writing-sd-card-image-win32diskimager.md b/docs/tutorials/writing-sd-card-image-win32diskimager.md index 8b6ea1fc1..73f2a2c30 100644 --- a/docs/tutorials/writing-sd-card-image-win32diskimager.md +++ b/docs/tutorials/writing-sd-card-image-win32diskimager.md @@ -40,4 +40,4 @@ accept the warning to start the installation. 7. This may take a few minutes, so be patient while it finishes. Once it's done, you can eject the SD card from the system tray and unplug it from the computer. -[imager]: https://sourceforge.net/projects/win32diskimager/files/latest/download +[imager]: https://win32diskimager.org diff --git a/downloads.md b/downloads.md index 27c6ddbf1..e4a88695b 100644 --- a/downloads.md +++ b/downloads.md @@ -18,15 +18,20 @@ redirect_from: /download/ page for installation instructions.

    + + +
    @@ -36,10 +41,26 @@ redirect_from: /download/ the primary focus of development.

    - - - Download for EV3 - + + +
    +
    +
    + A LEGO-approved version of ev3dev-stretch is available for download on the + LEGO Education website . +
    +
    +
    +
    @@ -82,10 +115,16 @@ redirect_from: /download/ I/O pin conflicts.

    +
    @@ -103,21 +142,6 @@ redirect_from: /download/

    Other Images

    -
    -

    Snapshot Releases

    -

    - We occasionally build images for testing purposes. These images - are published without any prior testing and there are no release - notes. However, you might be interested in these images if you - want to try out the latest bug fixes. -

    - -

    Previous Releases

    @@ -162,7 +186,7 @@ Since ev3dev is based on Debian Linux many software packages come from the official Debian repositories. Source code for these packages can be found at [packages.debian.org](https://packages.debian.org). -The software the was developed by ev3dev.org is hosted on the +The software that was developed by ev3dev.org is hosted on the [ev3dev GitHub](https://github.com/ev3dev) site. Direct links to some of the more interesting repositories are listed below. diff --git a/ev3devKit/ev3devkit/Ev3devKit.md b/ev3devKit/ev3devkit/Ev3devKit.md index dfa87d1c9..0adaa248f 100644 --- a/ev3devKit/ev3devkit/Ev3devKit.md +++ b/ev3devKit/ev3devkit/Ev3devKit.md @@ -1,5 +1,5 @@ --- title: GRX -redirect_to: http://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/vala-api/ev3devkit/EV3devKit.html +redirect_to: https://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/vala-api/ev3devkit/EV3devKit.html comment: This was the main landing page for the github pages site --- diff --git a/ev3devKit/ev3devkit/index.md b/ev3devKit/ev3devkit/index.md index 64195b3d1..ca1905ec3 100644 --- a/ev3devKit/ev3devkit/index.md +++ b/ev3devKit/ev3devkit/index.md @@ -1,5 +1,5 @@ --- title: GRX -redirect_to: http://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/vala-api/ev3devkit/index.htm +redirect_to: https://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/vala-api/ev3devkit/index.htm comment: This used to have a github pages site here --- diff --git a/ev3devKit/index.md b/ev3devKit/index.md index 5e3166508..f6a643a10 100644 --- a/ev3devKit/index.md +++ b/ev3devKit/index.md @@ -1,5 +1,5 @@ --- title: GRX -redirect_to: http://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/ +redirect_to: https://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/ comment: This used to have a github pages site here --- diff --git a/grx.md b/grx.md deleted file mode 100644 index 4d4544677..000000000 --- a/grx.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: GRX -redirect_to: http://docs.ev3dev.org/projects/grx/en/ev3dev-jessie -comment: This used to have a github pages site here ---- diff --git a/images/mindsensors/nxtcam5.png b/images/mindsensors/nxtcam5.png new file mode 100644 index 000000000..be00f6d1a Binary files /dev/null and b/images/mindsensors/nxtcam5.png differ diff --git a/images/news/brickman-rc-stamped.png b/images/news/brickman-rc-stamped.png new file mode 100644 index 000000000..2682fcf79 Binary files /dev/null and b/images/news/brickman-rc-stamped.png differ diff --git a/images/news/brickman-stable-stamped.png b/images/news/brickman-stable-stamped.png new file mode 100644 index 000000000..3323e286e Binary files /dev/null and b/images/news/brickman-stable-stamped.png differ diff --git a/images/news/ev3micropython.png b/images/news/ev3micropython.png new file mode 100644 index 000000000..b000c4e9d Binary files /dev/null and b/images/news/ev3micropython.png differ diff --git a/images/news/python-sample.png b/images/news/python-sample.png new file mode 100644 index 000000000..37a076df1 Binary files /dev/null and b/images/news/python-sample.png differ diff --git a/images/news/voice-challenge.png b/images/news/voice-challenge.png new file mode 100644 index 000000000..d6d86d1dc Binary files /dev/null and b/images/news/voice-challenge.png differ diff --git a/images/news/vscode-ev3dev-browser-debug-python.png b/images/news/vscode-ev3dev-browser-debug-python.png new file mode 100644 index 000000000..b84fc6882 Binary files /dev/null and b/images/news/vscode-ev3dev-browser-debug-python.png differ diff --git a/images/news/vscode-ev3dev-browser-output-python-crash.png b/images/news/vscode-ev3dev-browser-output-python-crash.png new file mode 100644 index 000000000..b91ef7aee Binary files /dev/null and b/images/news/vscode-ev3dev-browser-output-python-crash.png differ diff --git a/images/news/vscode-ev3dev-browser-terminal-python-inspect.png b/images/news/vscode-ev3dev-browser-terminal-python-inspect.png new file mode 100644 index 000000000..162deab3f Binary files /dev/null and b/images/news/vscode-ev3dev-browser-terminal-python-inspect.png differ diff --git a/images/pixy-tutorial/pixymon-config.png b/images/pixy-tutorial/pixymon-config.png new file mode 100644 index 000000000..ccee8727d Binary files /dev/null and b/images/pixy-tutorial/pixymon-config.png differ diff --git a/images/projects/2018-07-07-LoEV3go-LOGO-Interpreter/loev3go-banner.png b/images/projects/2018-07-07-LoEV3go-LOGO-Interpreter/loev3go-banner.png new file mode 100644 index 000000000..2b2798d5f Binary files /dev/null and b/images/projects/2018-07-07-LoEV3go-LOGO-Interpreter/loev3go-banner.png differ diff --git a/images/projects/2018-08-14-EV3D4-ssh-control/my-image.png b/images/projects/2018-08-14-EV3D4-ssh-control/my-image.png new file mode 100644 index 000000000..facf4373a Binary files /dev/null and b/images/projects/2018-08-14-EV3D4-ssh-control/my-image.png differ diff --git a/images/projects/2020-03-25-BluPants/Ev3Banner.png b/images/projects/2020-03-25-BluPants/Ev3Banner.png new file mode 100644 index 000000000..f0cf2599a Binary files /dev/null and b/images/projects/2020-03-25-BluPants/Ev3Banner.png differ diff --git a/images/projects/2020-07-09-Lego-Workshop-IDE/legoworkshop1.png b/images/projects/2020-07-09-Lego-Workshop-IDE/legoworkshop1.png new file mode 100644 index 000000000..9534d54c4 Binary files /dev/null and b/images/projects/2020-07-09-Lego-Workshop-IDE/legoworkshop1.png differ diff --git a/images/projects/2020-07-17-net-on-track-logo.jpg b/images/projects/2020-07-17-net-on-track-logo.jpg new file mode 100644 index 000000000..1f8350ba4 Binary files /dev/null and b/images/projects/2020-07-17-net-on-track-logo.jpg differ diff --git a/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4085.jpg b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4085.jpg new file mode 100644 index 000000000..181032e92 Binary files /dev/null and b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4085.jpg differ diff --git a/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4086.jpg b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4086.jpg new file mode 100644 index 000000000..80fcaa765 Binary files /dev/null and b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4086.jpg differ diff --git a/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4087.jpg b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4087.jpg new file mode 100644 index 000000000..0efaab6ee Binary files /dev/null and b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4087.jpg differ diff --git a/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4089.jpg b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4089.jpg new file mode 100644 index 000000000..7ee789da1 Binary files /dev/null and b/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4089.jpg differ diff --git a/images/windows/10/bluethooth-confirm-passkey-pc.png b/images/windows/10/bluethooth-confirm-passkey-pc.png new file mode 100644 index 000000000..29bf0e2fd Binary files /dev/null and b/images/windows/10/bluethooth-confirm-passkey-pc.png differ diff --git a/images/windows/10/bluethooth-connected-ev3dev.png b/images/windows/10/bluethooth-connected-ev3dev.png new file mode 100644 index 000000000..d23022e54 Binary files /dev/null and b/images/windows/10/bluethooth-connected-ev3dev.png differ diff --git a/images/windows/10/bluethooth-settings.png b/images/windows/10/bluethooth-settings.png new file mode 100644 index 000000000..eb8a16fe5 Binary files /dev/null and b/images/windows/10/bluethooth-settings.png differ diff --git a/index.md b/index.md index 316b82b71..218a2e5e7 100644 --- a/index.md +++ b/index.md @@ -34,9 +34,9 @@ jumbotron-content: |

    ev3dev is a Debian Linux-based operating system that runs on several LEGO® MINDSTORMS compatible - platforms including the LEGO® MINDSTORMS EV3 + platforms including the LEGO® MINDSTORMS EV3 and Raspberry Pi-powered - BrickPi. + BrickPi.

    Just like you can take apart your LEGO® models and build something @@ -68,7 +68,7 @@ get started right away with your favorite language and libraries. ## Backed by the full power of Linux -Since ev3dev is built on Debian Linux, there are over 43,000 free +Since ev3dev is built on Debian Linux, there are over 51,000 free software packages available for you to install. And with the Linux kernel at its core, many USB and Bluetooth devices, like diff --git a/javascripts/releases.js b/javascripts/releases.js index fc58d256f..0f09d511d 100644 --- a/javascripts/releases.js +++ b/javascripts/releases.js @@ -2,10 +2,14 @@ var releaseCacheTimeMillis = 20 * 60 * 1000; var releasePlatformRegexes = { - ev3: "ev3dev-jessie-ev3-generic-[\\d-]+\\.zip", - rpi: "ev3dev-jessie-rpi-generic-[\\d-]+\\.zip", - rpi2: "ev3dev-jessie-rpi2-generic-[\\d-]+\\.zip", - bone: "ev3dev-jessie-bone-generic-[\\d-]+\\.zip", + ev3: "ev3dev-stretch-ev3-generic-[\\d-]+\\.zip", + rpi: "ev3dev-stretch-rpi-generic-[\\d-]+\\.zip", + rpi2: "ev3dev-stretch-rpi2-generic-[\\d-]+\\.zip", + bone: "ev3dev-stretch-bone-generic-[\\d-]+\\.zip", + ev3_beta: "ev3dev-buster-ev3-generic-[\\d-]+\\.zip", + rpi_beta: "ev3dev-buster-rpi-generic-[\\d-]+\\.zip", + rpi2_beta: "ev3dev-buster-rpi2-generic-[\\d-]+\\.zip", + bone_beta: "ev3dev-buster-bone-generic-[\\d-]+\\.zip", } function initDownloadLinks() { diff --git a/news/_posts/2015-02-14-DKMS-Driver-Package-2.0.md b/news/_posts/2015-02-14-DKMS-Driver-Package-2.0.md index a71dbc652..2e16d5dbe 100644 --- a/news/_posts/2015-02-14-DKMS-Driver-Package-2.0.md +++ b/news/_posts/2015-02-14-DKMS-Driver-Package-2.0.md @@ -7,7 +7,7 @@ In case you didn't know, you can actually use ev3dev drivers on anything that runs Linux, not just the EV3 itself! Right now, this is just limited to the WeDo USB Hub and EV3/UART sensors. Find out more about it [here](https://github.com/ev3dev/lego-linux-drivers-dkms) and -[here](http://lechnology.com/2014/09/using-uart-sensors-on-any-linux/). +[here](https://lechnology.com/2014/09/using-uart-sensors-on-any-linux/). This release gets the DKMS package updated using the same drivers as the `3.16.7-ckt4-ev3dev1` kernel. diff --git a/news/_posts/2015-02-24-SD-Card-Image-Release.md b/news/_posts/2015-02-24-SD-Card-Image-Release.md index 8583d43d9..61df17915 100644 --- a/news/_posts/2015-02-24-SD-Card-Image-Release.md +++ b/news/_posts/2015-02-24-SD-Card-Image-Release.md @@ -12,4 +12,4 @@ of new packages that you do need to install though: `iptables` and `ev3dev-connm Here is the [download] and the [release notes]. [download]: https://github.com/ev3dev/ev3dev/releases/tag/ev3dev-jessie-2015-02-24 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3dev-jessie-2015-02-24.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3dev-jessie-2015-02-24.img-release-notes.md diff --git a/news/_posts/2015-03-31-SD-Card-Image-Release.md b/news/_posts/2015-03-31-SD-Card-Image-Release.md index 8fa90d6c1..d0d4e89d5 100644 --- a/news/_posts/2015-03-31-SD-Card-Image-Release.md +++ b/news/_posts/2015-03-31-SD-Card-Image-Release.md @@ -15,4 +15,4 @@ Here is the [download] and the [release notes]. [#267]: https://github.com/ev3dev/ev3dev/issues/267 [download]: https://github.com/ev3dev/ev3dev/releases/tag/ev3dev-jessie-2015-03-31 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3dev-jessie-2015-03-31.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3dev-jessie-2015-03-31.img-release-notes.md diff --git a/news/_posts/2015-05-01-Major-Release.md b/news/_posts/2015-05-01-Major-Release.md index 19a1ddcca..27dcca800 100644 --- a/news/_posts/2015-05-01-Major-Release.md +++ b/news/_posts/2015-05-01-Major-Release.md @@ -92,10 +92,10 @@ a Raspberry Pi 2 to the cause, we can make an image for it too. [Debian Kernel Handbook]: http://kernel-handbook.alioth.debian.org/ [Download]: https://github.com/ev3dev/ev3dev/releases/tag/ev3dev-jessie-2015-05-01 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3dev-jessie-2015-05-01.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3dev-jessie-2015-05-01.img-release-notes.md [dc-motor class]: /docs/drivers/dc-motor-class/ [servo-motor class]: /docs/drivers/servo-motor-class/ [tacho-motor class]: /docs/drivers/tacho-motor-class/ [ev3dev changelog]: https://github.com/ev3dev/ev3dev-kpkg/blob/ev3dev-jessie/ev3dev-ev3/changelog [ckt10 changelog]: https://lists.ubuntu.com/archives/kernel-team/2015-April/056345.html -[Dexter Industries BrickPi]: http://www.dexterindustries.com/BrickPi/ +[Dexter Industries BrickPi]: https://www.dexterindustries.com/BrickPi/ diff --git a/news/_posts/2015-05-13-raspberry-pi-image-release.md b/news/_posts/2015-05-13-raspberry-pi-image-release.md index 288557581..30b0e0798 100644 --- a/news/_posts/2015-05-13-raspberry-pi-image-release.md +++ b/news/_posts/2015-05-13-raspberry-pi-image-release.md @@ -23,6 +23,6 @@ the BrickPi firmware. Here is the [download] and the [release notes]. -[Dexter Industries BrickPi]: http://www.dexterindustries.com/BrickPi/ +[Dexter Industries BrickPi]: https://www.dexterindustries.com/BrickPi/ [download]: https://github.com/ev3dev/ev3dev/releases/tag/rpi-ev3dev-jessie-2015-05-13 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/rpi-ev3dev-jessie-2015-05-13.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/rpi-ev3dev-jessie-2015-05-13.img-release-notes.md diff --git a/news/_posts/2015-05-19-raspberry-pi-2-image-release.md b/news/_posts/2015-05-19-raspberry-pi-2-image-release.md index cdb9dff6a..cfb98a930 100644 --- a/news/_posts/2015-05-19-raspberry-pi-2-image-release.md +++ b/news/_posts/2015-05-19-raspberry-pi-2-image-release.md @@ -10,6 +10,6 @@ Raspbian packages for Raspberry Pi 1. Here is the [download] and the [release notes]. -[Dexter Industries BrickPi]: http://www.dexterindustries.com/BrickPi/ +[Dexter Industries BrickPi]: https://www.dexterindustries.com/BrickPi/ [download]: https://github.com/ev3dev/ev3dev/releases/tag/rpi2-ev3dev-jessie-2015-05-19 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/rpi2-ev3dev-jessie-2015-05-19.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/rpi2-ev3dev-jessie-2015-05-19.img-release-notes.md diff --git a/news/_posts/2015-05-20-ev3-ev3dev-jessie-2015-05-20-release.md b/news/_posts/2015-05-20-ev3-ev3dev-jessie-2015-05-20-release.md index 6827931db..cecd0afdc 100644 --- a/news/_posts/2015-05-20-ev3-ev3dev-jessie-2015-05-20-release.md +++ b/news/_posts/2015-05-20-ev3-ev3dev-jessie-2015-05-20-release.md @@ -84,7 +84,7 @@ A tiny 4x6 font for cramming as much as possible on the EV3 screen. [Download]: https://github.com/ev3dev/ev3dev/releases/tag/ev3-ev3dev-jessie-2015-05-20 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3-ev3dev-jessie-2015-05-20.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3-ev3dev-jessie-2015-05-20.img-release-notes.md [ev3dev changelog]: https://github.com/ev3dev/ev3dev-kpkg/blob/ev3dev-jessie/ev3dev-ev3/changelog [ckt11 changelog]: https://lists.ubuntu.com/archives/kernel-team/2015-May/057147.html -[BrickPi]: http://www.dexterindustries.com/BrickPi/ +[BrickPi]: https://www.dexterindustries.com/BrickPi/ diff --git a/news/_posts/2015-07-08-ev3-ev3dev-jessie-2015-07-08-release.md b/news/_posts/2015-07-08-ev3-ev3dev-jessie-2015-07-08-release.md index 474865db9..79d05b3ff 100644 --- a/news/_posts/2015-07-08-ev3-ev3dev-jessie-2015-07-08-release.md +++ b/news/_posts/2015-07-08-ev3-ev3dev-jessie-2015-07-08-release.md @@ -16,6 +16,6 @@ is (hopefully) sufficient to get all of the changes. If you have an older releas you need to install a new image because of some [major changes]. [Download]: https://github.com/ev3dev/ev3dev/releases/tag/ev3-ev3dev-jessie-2015-07-08 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3-ev3dev-jessie-2015-07-08.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3-ev3dev-jessie-2015-07-08.img-release-notes.md [ev3dev kernel]: /news/2015/07/08/Kernel-Release-v3.16.7-ckt14-6-ev3dev-ev3 [major changes]: /news/2015/05/01/Major-Release diff --git a/news/_posts/2015-07-24-Color-LCD-on-the-EV3.md b/news/_posts/2015-07-24-Color-LCD-on-the-EV3.md index 2ea70d6bf..2fcf91b96 100644 --- a/news/_posts/2015-07-24-Color-LCD-on-the-EV3.md +++ b/news/_posts/2015-07-24-Color-LCD-on-the-EV3.md @@ -3,7 +3,7 @@ title: Color LCD on the EV3 author: "@dlech" --- -I was just brought to my attention on [IRC](/support/#irc) that we haven't been doing a very good job bragging on ourselves. +I was just brought to my attention on IRC that we haven't been doing a very good job bragging on ourselves. So, the long story is... when I first got my EV3, of course I took it apart. In the course of poking and prodding around, I cracked the LCD screen. So I began to look for a replacement. It seems that the LCD was custom manufactured for LEGO diff --git a/news/_posts/2015-09-13-ev3-ev3dev-jessie-2015-09-13-release.md b/news/_posts/2015-09-13-ev3-ev3dev-jessie-2015-09-13-release.md index db87eec16..f01f4bb5d 100644 --- a/news/_posts/2015-09-13-ev3-ev3dev-jessie-2015-09-13-release.md +++ b/news/_posts/2015-09-13-ev3-ev3dev-jessie-2015-09-13-release.md @@ -16,6 +16,6 @@ is (hopefully) sufficient to get all of the changes. If you have an older releas you need to install a new image because of some [major changes]. [Download]: https://github.com/ev3dev/ev3dev/releases/tag/ev3-ev3dev-jessie-2015-09-13 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3-ev3dev-jessie-2015-09-13.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3-ev3dev-jessie-2015-09-13.img-release-notes.md [ev3dev kernel]: /news/2015/09/06/Kernel-Release-v3.16.7-ckt16-7-ev3dev-ev3 [major changes]: /news/2015/05/01/Major-Release diff --git a/news/_posts/2015-09-15-rpi-ev3dev-jessie-2015-09-15-release.md b/news/_posts/2015-09-15-rpi-ev3dev-jessie-2015-09-15-release.md index 391b0131e..081f6e19a 100644 --- a/news/_posts/2015-09-15-rpi-ev3dev-jessie-2015-09-15-release.md +++ b/news/_posts/2015-09-15-rpi-ev3dev-jessie-2015-09-15-release.md @@ -16,4 +16,4 @@ is (hopefully) sufficient to get all of the changes. [ev3dev kernel]: https://github.com/ev3dev/ev3dev-kpkg/blob/ev3dev-jessie/ev3dev-rpi/changelog [Download]: https://github.com/ev3dev/ev3dev/releases/tag/rpi-ev3dev-jessie-2015-09-15 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/rpi-ev3dev-jessie-2015-09-15.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/rpi-ev3dev-jessie-2015-09-15.img-release-notes.md diff --git a/news/_posts/2015-09-15-rpi2-ev3dev-jessie-2015-09-15-release.md b/news/_posts/2015-09-15-rpi2-ev3dev-jessie-2015-09-15-release.md index a68448b27..d99d9b67f 100644 --- a/news/_posts/2015-09-15-rpi2-ev3dev-jessie-2015-09-15-release.md +++ b/news/_posts/2015-09-15-rpi2-ev3dev-jessie-2015-09-15-release.md @@ -16,4 +16,4 @@ is (hopefully) sufficient to get all of the changes. [ev3dev kernel]: https://github.com/ev3dev/ev3dev-kpkg/blob/ev3dev-jessie/ev3dev-rpi2/changelog [Download]: https://github.com/ev3dev/ev3dev/releases/tag/rpi2-ev3dev-jessie-2015-09-15 -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/rpi2-ev3dev-jessie-2015-09-15.img-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/rpi2-ev3dev-jessie-2015-09-15.img-release-notes.md diff --git a/news/_posts/2015-11-09-Kernel-Release-Cycle-8.md b/news/_posts/2015-11-09-Kernel-Release-Cycle-8.md index cd747a719..07b4d3023 100644 --- a/news/_posts/2015-11-09-Kernel-Release-Cycle-8.md +++ b/news/_posts/2015-11-09-Kernel-Release-Cycle-8.md @@ -27,12 +27,12 @@ things may not work as expected until the next brickman release. Lots of new hardware support this go around. -* [Dexter Industries BrickPi+](http://www.dexterindustries.com/shop/brickpi-advanced-for-raspberry-pi/) -* [Dexter Industries dFlex](http://www.dexterindustries.com/shop/dflex-lego-mindstorms-nxt-flexible-sensor-for-mindstorms/) +* [Dexter Industries BrickPi+](https://www.dexterindustries.com/shop/brickpi-advanced-for-raspberry-pi/) +* [Dexter Industries dFlex](https://www.dexterindustries.com/shop/dflex-lego-mindstorms-nxt-flexible-sensor-for-mindstorms/) * [mindsensors.com PiStorms](http://www.mindsensors.com/stem-education/13-pistorms-base-kit) * [mindsensors.com NxtCam](http://www.mindsensors.com/ev3-and-nxt/14-vision-subsystem-v4-for-nxt-or-ev3-nxtcam-v4) * [mindsensors.com PixyAdapt](http://www.mindsensors.com/ev3-and-nxt/36-pixy-adapter-with-pixy-camera-for-mindstorms-ev3) -* [Charmed Labs Pixy for LEGO MINDSTORMS](http://charmedlabs.com/default/pixy-for-lego-mindstorms/) +* [Charmed Labs Pixy for LEGO MINDSTORMS](https://pixycam.com/pixy-lego/) ### Changelogs diff --git a/news/_posts/2015-12-30-ev3dev-jessie-2015-12-30-release.md b/news/_posts/2015-12-30-ev3dev-jessie-2015-12-30-release.md index a65423373..8167f2f17 100644 --- a/news/_posts/2015-12-30-ev3dev-jessie-2015-12-30-release.md +++ b/news/_posts/2015-12-30-ev3dev-jessie-2015-12-30-release.md @@ -43,7 +43,7 @@ We've also added a driver for battery indication on BrickPi+. ### Open-Roberta Lab -Thanks to the work of @ensonic, we now have support for +Thanks to the work of @ensonic, we now have support for out-of-the-box. It is prevented from running by default, so you do have to start it manually... diff --git a/news/_posts/2016-02-07-evb-ev3dev-lang-java-release-0.2.0.md b/news/_posts/2016-02-07-evb-ev3dev-lang-java-release-0.2.0.md index 57b9f8622..4e642b130 100644 --- a/news/_posts/2016-02-07-evb-ev3dev-lang-java-release-0.2.0.md +++ b/news/_posts/2016-02-07-evb-ev3dev-lang-java-release-0.2.0.md @@ -3,7 +3,7 @@ author: "@jabrena" title: "Announcing ev3dev-lang-java v0.2.0" --- -If you like [Linux](https://www.linux.com/) features from ev3dev and you enjoy with [Java](http://www.java.com/), this library is the solution to develop Java software for robots on ev3dev. [ev3dev-lang-java](https://ev3dev-lang-java.github.io) is a Java library designed to interact with the hardware managed by ev3dev using the LeJOS way. +If you like [Linux](https://www.linux.com/) features from ev3dev and you enjoy with [Java](https://www.java.com/), this library is the solution to develop Java software for robots on ev3dev. [ev3dev-lang-java](https://ev3dev-lang-java.github.io) is a Java library designed to interact with the hardware managed by ev3dev using the LeJOS way. ## What features are included in last release? @@ -45,7 +45,7 @@ In this release, the library has implemented the support for the EV3 Brick and t * [45544 LEGO MINDSTORMS Education EV3 Core Set](https://education.lego.com/en-us/products/lego-mindstorms-education-ev3-core-set-/5003400) * [31313 LEGO MINDSTORMS EV3](http://www.lego.com/en-us/mindstorms/products/mindstorms-ev3-31313) -In the next releases, the library will add support for [Raspberry Pi](https://www.raspberrypi.org/) boards as [Mindsensors PiStorms](http://www.mindsensors.com/teaching-stem-with-robotics/13-pistorms-base-kit-raspberry-pi-brain-for-lego-robot) & [Dexter Industries BrickPi+](http://www.dexterindustries.com/brickpi/) in order to use the power of Raspberry Pi. +In the next releases, the library will add support for [Raspberry Pi](https://www.raspberrypi.org/) boards as [Mindsensors PiStorms](http://www.mindsensors.com/stem-with-robotics/13-pistorms-v2-base-kit-raspberry-pi-brain-for-lego-robot) & [Dexter Industries BrickPi+](https://www.dexterindustries.com/brickpi/) in order to use the power of Raspberry Pi. Take a look the following table to observe the differences: @@ -168,8 +168,8 @@ If you have some doubt about this library, please create a issue: * [ev3dev-lang-java](https://ev3dev-lang-java.github.io) * [Tiobe](http://www.tiobe.com/index.php/tiobe_index) -* [Githut](http://githut.info/) -* [IEEE Spectrum](http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages) +* [Githut](https://githut.info/) +* [IEEE Spectrum](https://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages) * [Redmonk](https://redmonk.com/sogrady/category/programming-languages/) diff --git a/news/_posts/2016-12-21-ev3dev-jessie-2016-12-21-release.md b/news/_posts/2016-12-21-ev3dev-jessie-2016-12-21-release.md index c0253f0ef..c14d232c4 100644 --- a/news/_posts/2016-12-21-ev3dev-jessie-2016-12-21-release.md +++ b/news/_posts/2016-12-21-ev3dev-jessie-2016-12-21-release.md @@ -16,7 +16,7 @@ There are of course a few changes though. There are some updated packages and an updated kernel with some bug fixes. There is also a new `python3-rpyc` package. More details are in the [release notes]. -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3dev-jessie-ev3-generic-2016-12-21-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3dev-jessie-ev3-generic-2016-12-21-release-notes.md ### Download diff --git a/news/_posts/2017-02-11-ev3dev-jessie-2017-02-11-release.md b/news/_posts/2017-02-11-ev3dev-jessie-2017-02-11-release.md index d7c4a8439..1930c7b6e 100644 --- a/news/_posts/2017-02-11-ev3dev-jessie-2017-02-11-release.md +++ b/news/_posts/2017-02-11-ev3dev-jessie-2017-02-11-release.md @@ -38,7 +38,7 @@ Plus, we have included the updates from [Debian 8.7]. More details are in the [release notes]. -[release notes]: https://github.com/ev3dev/ev3dev/blob/master/release-notes/ev3dev-jessie-ev3-generic-2017-02-11-release-notes.md +[release notes]: https://github.com/ev3dev/ev3dev/blob/ev3dev-jessie/release-notes/ev3dev-jessie-ev3-generic-2017-02-11-release-notes.md ### What is fixed (or broken)? diff --git a/news/_posts/2017-06-09-ev3dev-jessie-2017-06-09-release.md b/news/_posts/2017-06-09-ev3dev-jessie-2017-06-09-release.md index 22ecaf962..f4879c49d 100644 --- a/news/_posts/2017-06-09-ev3dev-jessie-2017-06-09-release.md +++ b/news/_posts/2017-06-09-ev3dev-jessie-2017-06-09-release.md @@ -9,7 +9,7 @@ most recent ev3dev kernel. We've added the `usb-modeswitch` package needed by some Wi-Fi dongles and the `gir1.2-ev3devkit-0.4` package in case you want to try out using -[Ev3devKit](http://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/vala-api/ev3devkit/EV3devKit.html) +[Ev3devKit](https://docs.ev3dev.org/projects/ev3devkit/en/ev3dev-jessie/vala-api/ev3devkit/EV3devKit.html) with python. diff --git a/news/_posts/2017-07-25-kernel-release-cycle-21.md b/news/_posts/2017-07-25-kernel-release-cycle-21.md new file mode 100644 index 000000000..14e93c039 --- /dev/null +++ b/news/_posts/2017-07-25-kernel-release-cycle-21.md @@ -0,0 +1,49 @@ +--- +author: "@dlech" +title: "Kernel Release Cycle 21" +--- + +![NXTCam5](/images/mindsensors/nxtcam5.png) +{: .image-responsive .pull-right} + +[mindsensors.com] Has released a new camera sensor, the [NXTCam5]. So, we've +added support for it to ev3dev. The sensor API is basically the same +as its predecessors', but this camera is much more advanced. For example, it +can track faces and lines, and take pictures and record videos. You can also +easily modify the software on the camera itself using python. It's pretty cool. + + + +Additional changes: + +* Enabled kernel modules needed for tethering, which has apparently + been broken for a while and nobody noticed. +* Added a `PASSIVE` mode for HiTechnic Color Sensor V2. +* Enable 9V out on input port pin 1 in `other-i2c` mode. + +[mindsensors.com]: http://www.mindsensors.com/ +[NXTCam5]: http://www.mindsensors.com/vision-for-robots/191-vision-subsystem-v5-for-nxt-or-ev3-with-fixed-lens + +### Version Info + +In this round of releases, we have: + +* `v4.4.78-21-ev3dev-ev3` for EV3. +* `v4.4.68-ti-rt-r112-21-ev3dev-bb.org` for BeagleBone. +* `v4.4.78-21-ev3dev-rpi` for Raspberry Pi 0/1. +* `v4.4.78-21-ev3dev-rpi2` for Raspberry Pi 2/3. + +You can also find this kernel in the `ev3dev-jessie` [snapshot builds][download] starting with `2017-07-25`. + +[download]: https://oss.jfrog.org/list/oss-snapshot-local/org/ev3dev/brickstrap/ + + +### Changelogs + +For a more complete changelog, follow the link for your platform: +[EV3][ev3-changelog], [BB][bb.org-changelog], [RPi][rpi-changelog] or [RPi2][rpi2-changelog]. + +[ev3-changelog]: https://github.com/ev3dev/ev3dev-kpkg/blob/6558cb752fd47d4ead34d1975db20c31a8313bea/ev3dev-ev3/changelog +[bb.org-changelog]: https://github.com/ev3dev/ev3dev-kpkg/blob/6558cb752fd47d4ead34d1975db20c31a8313bea/ev3dev-bb.org/changelog +[rpi-changelog]: https://github.com/ev3dev/ev3dev-kpkg/blob/6558cb752fd47d4ead34d1975db20c31a8313bea/ev3dev-rpi/changelog +[rpi2-changelog]: https://github.com/ev3dev/ev3dev-kpkg/blob/6558cb752fd47d4ead34d1975db20c31a8313bea/ev3dev-rpi2/changelog diff --git a/news/_posts/2017-09-14-ev3dev-jessie-2017-09-14-release.md b/news/_posts/2017-09-14-ev3dev-jessie-2017-09-14-release.md new file mode 100644 index 000000000..5cacdd00d --- /dev/null +++ b/news/_posts/2017-09-14-ev3dev-jessie-2017-09-14-release.md @@ -0,0 +1,23 @@ +--- +author: "@dlech" +title: "Announcing ev3dev-jessie-2017-09-14 Release" +--- + +This is a stable maintenance release. We've pulled in the updates and security +fixes from [Debian 8.9](https://www.debian.org/News/2017/2017072202) and the +most recent ev3dev kernel. + + + +There is a fix that should make Bluetooth start more reliably on the EV3 (i.e. +Bluetooth shows as "Unavailable" until the EV3 is rebooted). + +The only other notable change is for those with the [color screen hack](/news/2015/07/24/Color-LCD-on-the-EV3/), +a crash at boot is fixed. + +Most of our work has been focused on **ev3dev-stretch**. It is nearing beta +quality, so you might want to [check it out](https://docs.ev3dev.org/en/ev3dev-stretch/). + +### Download + +You can find SD card images on our [download](/downloads) page. diff --git a/news/_posts/2017-09-17-ev3dev-in-podcast-init.md b/news/_posts/2017-09-17-ev3dev-in-podcast-init.md new file mode 100644 index 000000000..96a46966d --- /dev/null +++ b/news/_posts/2017-09-17-ev3dev-in-podcast-init.md @@ -0,0 +1,9 @@ +--- +author: "@ddemidov" +title: "ev3dev in episode 127 of `podcast.__init__`" +--- + +[`podcast.__init__`](https://www.podcastinit.com/) is the Podcast About Python and the People Who Make It Great, +and [Episode 127](https://www.podcastinit.com/lego-robotics-with-david-lechner-and-denis-demidov-episode-127/) +is about Legos, robots, and Python! Tobias Macey talks with David Lechner and Denis Demidov about +the ev3dev project and how you can program your Lego Mindstorms with Python! diff --git a/news/_posts/2018-06-14-ev3dev-stretch.md b/news/_posts/2018-06-14-ev3dev-stretch.md new file mode 100644 index 000000000..3369ee567 --- /dev/null +++ b/news/_posts/2018-06-14-ev3dev-stretch.md @@ -0,0 +1,16 @@ +--- +author: "@dlech" +title: "ev3dev-stretch" +--- + +The ev3dev news has been quite for while, but we've slowly been plodding along +on ev3dev-stretch. If you haven't tried it yet, it now is a good time. Look +for the blue box on the [downloads page](/downloads). + +Some interesting new features include: +* A Visual Studio Code Extension for [easy programming](https://github.com/ev3dev/vscode-hello-python) +* The [brickrun](https://github.com/ev3dev/brickrun/blob/ev3dev-stretch/doc/brickrun.rst) command line tool +* Grayscale support for the EV3 screen +* [Adjust the CPU frequency of the EV3](https://lechnology.com/2018/06/overclocking-lego-mindstorms-ev3-part-2/) + +If you run into any problems, be sure to [open an issue on GitHub](https://github.com/ev3dev/ev3dev/issues). diff --git a/news/_posts/2018-08-06-python-ev3dev-v2.md b/news/_posts/2018-08-06-python-ev3dev-v2.md new file mode 100644 index 000000000..71f876253 --- /dev/null +++ b/news/_posts/2018-08-06-python-ev3dev-v2.md @@ -0,0 +1,31 @@ +--- +author: "@WasabiFan" +title: "python-ev3dev version 2 for ev3dev-stretch available in beta" +--- + +Python driving sample + +After several months' work, python-ev3dev version 2 is available in beta. This +release is specifically targeted at [ev3dev-stretch](https://www.ev3dev.org/news/2018/06/14/ev3dev-stretch/), +and comes with a variety of improvements to existing interfaces as well as some +new features. In particular, we hope that writing software for driving robots +will now be significantly easier. + + + +The highlights include: + +- New classes are available for coordinating motors: `ev3dev2.motor.MotorSet`, `ev3dev2.motor.MoveTank`, `ev3dev2.motor.MoveSteering`, and `ev3dev2.motor.MoveJoystick`. +- Classes representing a variety of motor speed units are available and accepted by many of the motor interfaces: see [our docs](https://python-ev3dev.readthedocs.io/en/ev3dev-stretch/motors.html#units) to learn more. +- Friendlier interfaces for operating motors and sensors: check out `ev3dev2.motor.Motor.on_for_rotations` and the other `on_for_*` methods on motors. +- Easier interactivity via buttons: each button now has `wait_for_pressed`, `wait_for_released` and `wait_for_bump` +- Improved `ev3dev2.sound.Sound` and `ev3dev2.display.Display` interfaces +- New color conversion methods in `ev3dev2.sensor.lego.ColorSensor` + +If you haven't already, see @dlech's [news post on Stretch](https://www.ev3dev.org/news/2018/06/14/ev3dev-stretch/) +for information on the new ev3dev version. If you're running the [image from August 6](https://oss.jfrog.org/list/oss-snapshot-local/org/ev3dev/brickstrap/2018-08-06/) +or newer, the library should come pre-installed; otherwise, you'll need +to install the `python3-ev3dev2` package via `apt-get`. + +Once your ev3dev installation is ready, head over to our [upgrading guide](https://python-ev3dev.readthedocs.io/en/ev3dev-stretch/upgrading-to-stretch.html) +to get started! \ No newline at end of file diff --git a/news/_posts/2019-02-18-ev3dev-stretch.md b/news/_posts/2019-02-18-ev3dev-stretch.md new file mode 100644 index 000000000..c0f54b947 --- /dev/null +++ b/news/_posts/2019-02-18-ev3dev-stretch.md @@ -0,0 +1,15 @@ +--- +author: "@dlech" +title: "ev3dev-stretch Stable Release Candidate" +--- + +We've been quietly squashing bugs in ev3dev-stretch over the past six months and +we think it time to take it out of beta. + +Some interesting new features include: +* A Visual Studio Code Extension for [easy programming](https://github.com/ev3dev/vscode-hello-python) +* The [brickrun](https://github.com/ev3dev/brickrun/blob/ev3dev-stretch/doc/brickrun.rst) command line tool +* Grayscale support for the EV3 screen +* [Adjust the CPU frequency of the EV3](https://lechnology.com/2018/06/overclocking-lego-mindstorms-ev3-part-2/) + +If you run into any problems, be sure to [open an issue on GitHub](https://github.com/ev3dev/ev3dev/issues). diff --git a/news/_posts/2019-04-12-ev3dev-stretch.md b/news/_posts/2019-04-12-ev3dev-stretch.md new file mode 100644 index 000000000..e41cb4740 --- /dev/null +++ b/news/_posts/2019-04-12-ev3dev-stretch.md @@ -0,0 +1,24 @@ +--- +author: "@dlech" +title: "ev3dev-stretch is Stable" +--- + +Stamped with text: Stable + +Thanks to everyone who has downloaded `ev3dev-stretch` snapshots, tested the +latest kernel and reported issues on GitHub. We're declaring ev3dev-stretch +as the new stable version of ev3dev. + + + +That means we're saying so-long to `ev3dev-jessie` and hello to `ev3dev-buster` +as the new experimental version of ev3dev (we tend to lag behind one release +from the official Debian project that ev3dev is based on). There might not be as +much development going on as there used to be, but more people are using ev3dev +now than there ever have been. We hope you have as much fun using it as we have +had making it! + +**Note:** If you _really_, _really_ need ev3dev-jessie, you can still find the +downloads on the [GitHub releases][1] page. + +[1]: https://github.com/ev3dev/ev3dev/releases/tag/ev3dev-jessie-2017-09-14 diff --git a/news/_posts/2019-04-13-ev3-micropython.md b/news/_posts/2019-04-13-ev3-micropython.md new file mode 100644 index 000000000..c3d5e5da1 --- /dev/null +++ b/news/_posts/2019-04-13-ev3-micropython.md @@ -0,0 +1,22 @@ +--- +author: "@laurensvalk" +title: "LEGO releases MicroPython for EV3 based on ev3dev and Pybricks" +--- + +EV3 MicroPython + +LEGO just officially released MicroPython for LEGO MINDSTORMS EV3 and it runs on top of ev3dev! + +With contributions from the community, LEGO has worked hard to make (Micro)Python programming more accessible than ever. + +Head over to the [LEGO Education website][1] to give it a try. + + + +EV3 MicroPython runs on top of ev3dev with a new Pybricks MicroPython runtime and library. It also comes with a dedicated Visual Studio Code extension that includes project templates and documentation to get started. EV3 MicroPython is designed to be easier to use for beginners by taking away some of the complexity of getting started with Python programming on the EV3. + +At the same time, the Pybricks MicroPython runtime adds many exciting features that make EV3 robots more powerful and easier to control. This includes brand new drivers and APIs to make motor control easier and more accurate. We think that especially FLL teams will love features such as built-in gearing compensation, drive base classes, or integrated stall detection. + +Once the source code for this Pybricks library is publicly available, it might find its way into regular ev3dev releases as well. It wouldn't replace any existing libraries or runtimes --- everything you know and love about ev3dev will continue to be included as well. + +[1]: https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 diff --git a/news/_posts/2019-09-08-ev3dev-stretch-r2-release-candidate.md b/news/_posts/2019-09-08-ev3dev-stretch-r2-release-candidate.md new file mode 100644 index 000000000..2fe003beb --- /dev/null +++ b/news/_posts/2019-09-08-ev3dev-stretch-r2-release-candidate.md @@ -0,0 +1,23 @@ +--- +author: "@dlech" +title: "ev3dev-stretch R2 Release Candidate" +--- + +Stamped with text: Release Candidate + +We have a new stable release candidate ready for testing. Be a pal and try it out. + +Download `snapshot-ev3dev-stretch-ev3-generic-2019-09-08.img.xz` from [here][1]. + +[1]: https://oss.jfrog.org/list/oss-snapshot-local/org/ev3dev/brickstrap/2019-09-08/ + + + +Changes since ev3dev-stretch R1: + +- Updated to Debian 9.9 +- Improved Bluetooth availability [#925](https://github.com/ev3dev/ev3dev/issues/925) +- Updated `ev3dev-lang-python` and `ev3dev-lang-java` libraries. +- A few small Linux kernel driver fixes + +If all goes well, this will become the new main download in a few weeks. diff --git a/news/_posts/2019-09-24-lego-amazon-voice-control-contest.md b/news/_posts/2019-09-24-lego-amazon-voice-control-contest.md new file mode 100644 index 000000000..2015fcee0 --- /dev/null +++ b/news/_posts/2019-09-24-lego-amazon-voice-control-contest.md @@ -0,0 +1,18 @@ +--- +author: "@dlech" +title: "LEGO and Amazon Announce Voice Control Contest - Built on ev3dev!" +--- + +Official contest banner + +LEGO and Amazon have announced a contest for creating voice controlled robots +using Alexa and LEGO MINDSTORMS EV3. And the best part is that it builds on +ev3dev! + + + +There are some substantial prizes and lots of smaller prizes. There is even a +special category for 13 to 17 year-olds. And the first 100 people to submit +an entry are even eligible for a prize. + +Check out the details at . diff --git a/news/_posts/2019-10-29-ev3dev-stretch-r2.md b/news/_posts/2019-10-29-ev3dev-stretch-r2.md new file mode 100644 index 000000000..dae1b9f46 --- /dev/null +++ b/news/_posts/2019-10-29-ev3dev-stretch-r2.md @@ -0,0 +1,22 @@ +--- +author: "@dlech" +title: "ev3dev-stretch R2 Release" +--- + +Stamped with text: Stable + +Today, we are releasing ev3dev-stretch R2. This is a minor security and stability +update and is recommended for all users of ev3dev-stretch. +Thank you to everyone who has downloaded `ev3dev-stretch` snapshots, tested them +and reported issues on GitHub. + + + + +Changes since ev3dev-stretch R1: + +- Updated to Debian 9.9 +- Improved Bluetooth availability [#925](https://github.com/ev3dev/ev3dev/issues/925) +- Updated `ev3dev-lang-python` and `ev3dev-lang-java` libraries. +- Fixed a few small Linux kernel driver bugs +- Included the Python `agt` package for the [Amazon Voice Control Contest](/news/2019/09/24/lego-amazon-voice-control-contest) diff --git a/news/_posts/2020-02-13-ev3dev-vscode-extension-beta.md b/news/_posts/2020-02-13-ev3dev-vscode-extension-beta.md new file mode 100644 index 000000000..28459f0d2 --- /dev/null +++ b/news/_posts/2020-02-13-ev3dev-vscode-extension-beta.md @@ -0,0 +1,115 @@ +--- +author: "@dlech" +title: "ev3dev-browser VS Code Extension Beta Release" +--- + +Screenshot of ev3dev-browser VS Code extension terminal pane showing Python REPL + +We are working on the next release of the [ev3dev-browser VS Code Extension][1] +and we need testers! This version has a cool new feature for debugging your +Python programs. + + +[1]: https://marketplace.visualstudio.com/items?itemName=ev3dev.ev3dev-browser + + + + +### Getting the Beta Version + +The beta version is not available on the VS Code Marketplace. Instead download +the `.vsix` file from the [GitHub Releases][2] page. Then [install it in VS +Code][3]. + +[2]: https://github.com/ev3dev/vscode-ev3dev-browser/releases +[3]: https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix + + +### New "Run in Interactive Terminal" Feature + +The major new feature of this release allows you to run programs in an +interactive terminal instead of the read-only output pane in VS Code. + +Why would you want to do this? With Python programs, it allows us inspect the +current state of the program when it crashes because of an error (or when the +program ends normally without error). + +#### Setup + +To enable this feature, we need to add `"interactiveTerminal": true` to +`.vscode/launch.json` in the project folder. + +```json +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Download and Run", + "type": "ev3devBrowser", + "request": "launch", + "program": "/home/robot/${workspaceRootFolderName}/main.py", + "interactiveTerminal": true + } + ] +} +``` + +#### Running the program + +Now, lets run a program with a bug. This is our `main.py` file: + +```python +#!/usr/bin/env python3 + +count = 5 / 3 +for _ in range(count): + print('hi') +``` + +If we run it with `"interactiveTerminal": false` (the default), then the program +runs in the *output* pane just as it does in older versions of the extension. + +Screenshot of ev3dev-browser VS Code extension output pane showing Python crash + +#### Running the program the new way + +But when we run it with `"interactiveTerminal": true`, the the program runs +in the *terminal* pane instead of the *output* pane. It also sets the +[PYTHONINSPECT][4] environment variable, which causes Python to start +the interactive REPL after the crash instead of ending the program. This lets +us check the current values of variables to try to figure out why the program +crashed! + +For example, here we type in `count` in the terminal and press ENTER +to see that it is a float and not an integer, just like the error message says. +Be aware, though, that we can only inspect global variables, not local variables +inside of a function (that's just how Python works). + +Screenshot of ev3dev-browser VS Code extension output pane showing Python crash + +[4]: https://docs.python.org/3/using/cmdline.html#envvar-PYTHONINSPECT + +#### Side-effects + +There is also a side-effect to be aware of if you have existing Python programs. +When using `"interactiveTerminal": true`, the standard output stream is +redirected to the VS Code terminal pane. This means that if you use `print()` +in your Python program to write text on the screen of the EV3, now the text +will print in the VS Code terminal window instead. + +To see this you can fix the example program (hint `5 // 3` results in an integer +instead of a float) and run it with both `"interactiveTerminal": true` and +`"interactiveTerminal": false`. diff --git a/news/_posts/2020-03-11-ev3dev-stretch-r3-release-candidate.md b/news/_posts/2020-03-11-ev3dev-stretch-r3-release-candidate.md new file mode 100644 index 000000000..ffa462adb --- /dev/null +++ b/news/_posts/2020-03-11-ev3dev-stretch-r3-release-candidate.md @@ -0,0 +1,27 @@ +--- +author: "@dlech" +title: "ev3dev-stretch R3 Release Candidate" +--- + +Stamped with text: Release Candidate + +We have a new stable release candidate ready for testing. + +**Update 2020-03-23: new snapshot has been uploaded that supersedes 2020-03-07 SD card image.** + +Download `snapshot-ev3dev-stretch-ev3-generic-2020-03-23.img.xz` from [here][1]. + +[1]: https://oss.jfrog.org/list/oss-snapshot-local/org/ev3dev/brickstrap/2020-03-23/ + + + +Changes since ev3dev-stretch R2: + +- Updated to Debian 9.12 +- Improved Bluetooth availability (again) [#1314](https://github.com/ev3dev/ev3dev/issues/1314) +- Programs started with `brickrun` run with higher priority +- [A few small Linux kernel driver fixes](https://github.com/ev3dev/ev3dev-kpkg/blob/38fe00a2ad385679559f7a2a3069c36fa93bc707/ev3dev-ev3/changelog#L1-L7) +- Fix bitmap fonts on Raspberry Pi +- Updated ev3dev-lang Python and Java libraries (changed in 2020-03-23 image) + +If all goes well, this will become the new main download in a few weeks. diff --git a/news/_posts/2020-04-10-ev3dev-stretch-r3.md b/news/_posts/2020-04-10-ev3dev-stretch-r3.md new file mode 100644 index 000000000..e4d343ff0 --- /dev/null +++ b/news/_posts/2020-04-10-ev3dev-stretch-r3.md @@ -0,0 +1,24 @@ +--- +author: "@dlech" +title: "ev3dev-stretch R3 Release" +--- + +Stamped with text: Stable + +After a month of testing, ev3dev-stretch R3 is ready to go! Thanks to everyone +who downloaded and tested the release candidate! + +The new SD card image can be found on the main [downloads page][1]. + +[1]: /downloads + + + +Changes since ev3dev-stretch R2: + +- Updated to Debian 9.12 +- Improved Bluetooth availability (again) [#1314](https://github.com/ev3dev/ev3dev/issues/1314) +- Programs started with `brickrun` now run with higher priority +- [A few small Linux kernel driver fixes](https://github.com/ev3dev/ev3dev-kpkg/blob/38fe00a2ad385679559f7a2a3069c36fa93bc707/ev3dev-ev3/changelog#L1-L7) +- Fix bitmap fonts on Raspberry Pi +- Updated ev3dev-lang Python, MicroPython and Java libraries diff --git a/news/_posts/2020-07-13-ev3dev-vscode-extension-beta.md b/news/_posts/2020-07-13-ev3dev-vscode-extension-beta.md new file mode 100644 index 000000000..23252f417 --- /dev/null +++ b/news/_posts/2020-07-13-ev3dev-vscode-extension-beta.md @@ -0,0 +1,48 @@ +--- +author: "@dlech" +title: "ev3dev-browser VS Code Extension Beta Release" +--- + +Screenshot of ev3dev-browser VS Code extension showing debuggers for Python + +**Update 2020-07-20: Extension v1.2.0 has been released in the VS Code +marketplace.** + +We are working on the next release of the [ev3dev-browser VS Code Extension][1] +and we need testers! This version mostly contains bug fixes. It should do a +better job detecting ev3dev devices. It also fixes a bug where subprocesses +on the EV3 are not stopped when clicking the red stop button in VS Code. + +[1]: https://marketplace.visualstudio.com/items?itemName=ev3dev.ev3dev-browser + + + +There is also one new feature courtesy of @WasabiFan. The `ev3dev` debugger is +now registered as a default handler for Python files, so now it is possible to +download and run a Python script without having to create a `launch.json` file. +Just open your file and press F5 or Cmd ⌘ ++Return ↩ on Mac. + +If you find any problems, please report them [here][issues]. + +[issues]: https://github.com/ev3dev/vscode-ev3dev-browser/issues + + +### Getting the Beta Version + +The beta version is not available on the VS Code Marketplace. Instead download +the `.vsix` file from the [GitHub Releases][2] page. Then [install it in VS +Code][3]. + +[2]: https://github.com/ev3dev/vscode-ev3dev-browser/releases +[3]: https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix + +The ev3dev VS Code extension is also now available via [open-vsx.org][4] for +those that use other VS Code-compatible editors like VSCodium and Eclipse Theia. + +[4]: https://open-vsx.org/extension/ev3dev/ev3dev-browser diff --git a/projects/_posts/2014-11-30-TreeV3.md b/projects/_posts/2014-11-30-TreeV3.md index 7538e5aea..6b1c8bb28 100644 --- a/projects/_posts/2014-11-30-TreeV3.md +++ b/projects/_posts/2014-11-30-TreeV3.md @@ -5,6 +5,6 @@ youtube_video_id: RPgkDut4-48 source_code_url: "https://github.com/G33kDude/TreeV3" --- -A web interface for turning on/off Christmas trees using the [Dexter Industries dSwitch](http://www.dexterindustries.com/manual/dswitch-kit) with [ev3dev](http://www.ev3dev.org/) +A web interface for turning on/off Christmas trees using the [Dexter Industries dSwitch](https://www.dexterindustries.com/manual/dswitch-kit) with [ev3dev](http://www.ev3dev.org/) ![Tree Toggling Interface](/images/projects/2014-11-30-TreeV3/TreeOn.png){: .img-responsive} diff --git a/projects/_posts/2015-03-12-Dalek.md b/projects/_posts/2015-03-12-Dalek.md index 986099e96..8af0fdb2f 100644 --- a/projects/_posts/2015-03-12-Dalek.md +++ b/projects/_posts/2015-03-12-Dalek.md @@ -1,18 +1,18 @@ --- # Fill out as many of these as you can, and delete the rest. -author: [ "@CallumCameron" ] # The person(s) who created this project. +author: [ "@calliecameron" ] # The person(s) who created this project. # Any author that starts with "@" will pull information from github. programming_language: "Python" # The programming language used in this project youtube_video_id: Li0pRmRHNx0 # The video ID of the YouTube video to be displayed with this post -project_homepage_url: "https://github.com/CallumCameron/lego-mindstorms-dalek" # Homepage for this project -source_code_url: "https://github.com/CallumCameron/lego-mindstorms-dalek" # Provide a link to your code +project_homepage_url: "https://github.com/calliecameron/lego-mindstorms-dalek" # Homepage for this project +source_code_url: "https://github.com/calliecameron/lego-mindstorms-dalek" # Provide a link to your code --- The [Daleks](https://en.wikipedia.org/wiki/Dalek) are evil aliens from [Doctor Who](https://en.wikipedia.org/wiki/Doctor_Who), and are the Doctor's most fearsome enemy. Inside the armoured shell is an alien creature that wants nothing less than to exterminate all non-Dalek life in the universe. -![Dalek](https://raw.githubusercontent.com/CallumCameron/lego-mindstorms-dalek/master/dalek2.jpg){: .img-responsive} +![Dalek](https://raw.githubusercontent.com/calliecameron/lego-mindstorms-dalek/master/dalek2.jpg){: .img-responsive} This Dalek is still a work in progress. At the moment, it must be remote-controlled from a PC over WiFi, and can't do anything on its own yet. It can move, turn its head, speak, and take photos with its webcam eye. diff --git a/projects/_posts/2015-05-06-EV3-Print3rbot.md b/projects/_posts/2015-05-06-EV3-Print3rbot.md index f8126bae7..0684fe539 100644 --- a/projects/_posts/2015-05-06-EV3-Print3rbot.md +++ b/projects/_posts/2015-05-06-EV3-Print3rbot.md @@ -3,7 +3,7 @@ author: "@cavenel" programming_language: Python youtube_video_id: 9pjpQoZoW6E source_code_url: "https://github.com/cavenel/ev3-print3rbot/" -building_instructions_url: "https://www.dropbox.com/s/5jtnpaf18ibalj0/ev3_Print3rbot.pdf?dl=1" +building_instructions_url: "https://www.dropbox.com/s/bqw5oxz8vf82k98/ev3_Print3rbot.pdf?dl=1" excerpt: "An EV3 robot that draws with a pen. Can draw directly from SVG images, or with a mouse." --- diff --git a/projects/_posts/2015-05-31-Noflo-EdgeFollowing.md b/projects/_posts/2015-05-31-Noflo-EdgeFollowing.md index b55088b3e..1a37575a6 100644 --- a/projects/_posts/2015-05-31-Noflo-EdgeFollowing.md +++ b/projects/_posts/2015-05-31-Noflo-EdgeFollowing.md @@ -6,7 +6,7 @@ source_code_url: "https://github.com/ensonic/noflo-legoev3" excerpt: "Visual programming of the EV3 using NoFlo.js." --- -[NoFlo.js](http://www.noflojs.org) is a flow based programing environment. The noflo-legoev3 component library add components to use various parts of the ev3 brick and connected sensors and motors. +[NoFlo.js](https://www.noflojs.org) is a flow based programing environment. The noflo-legoev3 component library add components to use various parts of the ev3 brick and connected sensors and motors. To run the code, one needs to install nodejs on the ev3 and then build as runtime as described here: . diff --git a/projects/_posts/2016-08-07-Mapping.md b/projects/_posts/2016-08-07-Mapping.md index 8212ed170..765a55b47 100644 --- a/projects/_posts/2016-08-07-Mapping.md +++ b/projects/_posts/2016-08-07-Mapping.md @@ -38,6 +38,10 @@ The meta-repository of the project is [ev3dev-mapping]. This is my personal project. While I am quite happy to share the results, please keep in mind that I am pursuing my own goals here.

    +
    +{% include /style/icon.html type="info" %} +Some of the generic [libraries](https://github.com/bmegli/wifi-scan) written for this project [ended up](https://github.com/nasa/isaac/blob/3a7bdcae46e255cb9060a80f1a6e70af187f631c/astrobee/hardware/wifi/include/wifi/wifi.h#L2) in NASA ISAAC flight [software](https://nasa.github.io/isaac/html/wifi_driver.html) for Astrobee robot operating inside the International Space Station. That's some open source in the wild! +
    ## Examples @@ -157,7 +161,9 @@ The position and heading data is interpolated individually for each laser readin The `drive component` translates input from the user (keyboard, pad, numerical, ...) using the motion model and sends it to the `drive module`. The `drive module` controls the motors. -The `control component` and the `control module` are not in the scheme for clarity. The `control component` sends to `control module` requests to enable/disable modules. +The `wifi component` and the `wifi module` are not in the scheme for clarity. The `wifi module` sends wireless signal strength information to the `wifi component`. The data is reflected in the UI. + +The `control component` and the `control module` are not in the scheme for clarity. The `control component` sends to the `control module` requests to enable/disable modules. The `control module` replies with module states. ## Building Instructions @@ -212,6 +218,8 @@ If you have some question or problem open an issue in one of the [ev3dev-mapping [mi-xg1300l] - CruizCore XG1300L driver documentation +[wifi-scan] - C/C++ library for monitoring signal strength of WiFi networks + [X3DOM] - open-source framework for declarative 3D graphics on the Web ### tutorials and learning @@ -264,12 +272,13 @@ If you have some question or problem open an issue in one of the [ev3dev-mapping [Using the XV11 Lidar tutorial]: /docs/tutorials/using-xv11-lidar/ [xv11lidar]: https://github.com/bmegli/xv11lidar -[mi-xg1300l]: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#mi-xg1300l +[mi-xg1300l]: https://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-jessie/sensor_data.html#mi-xg1300l +[wifi-scan]: https://github.com/bmegli/wifi-scan [How to interface XV11 LIDAR to EV3 using ev3dev]: https://www.youtube.com/watch?v=G6uVg34VzHw [EV3 Gyro vs CruizCore XG1300L vs Odometry - Position Estimation]: https://www.youtube.com/watch?v=vzND_ISdhEs [3D mapping/scanning project with ev3dev OS and Unity UI]: https://www.youtube.com/watch?v=9o_Fi8bHdvs -[MeshLab]: http://meshlab.sourceforge.net/ +[MeshLab]: http://www.meshlab.net/ [AOPT]: http://doc.x3dom.org/tutorials/models/aopt/ [InstantReality]: http://www.instantreality.org/ [Web3D]: http://www.web3d.org/ @@ -282,4 +291,4 @@ If you have some question or problem open an issue in one of the [ev3dev-mapping [WebGL]: https://www.khronos.org/webgl/ [W3C]: https://www.w3.org/ -[MinuteBot]: http://web.archive.org/web/20160630211503/http://www.minutebot.com/minuteproducts/base +[MinuteBot]: https://web.archive.org/web/20160630211503/http://www.minutebot.com/minuteproducts/base diff --git a/projects/_posts/2018-07-07-LoEV3go-LOGO-Interpreter.md b/projects/_posts/2018-07-07-LoEV3go-LOGO-Interpreter.md new file mode 100644 index 000000000..8d399eb54 --- /dev/null +++ b/projects/_posts/2018-07-07-LoEV3go-LOGO-Interpreter.md @@ -0,0 +1,40 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@obo" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "Python" # The programming language used in this project + +# youtube_video_id: rrNaLfE9PWA # The video ID of the YouTube video to be displayed with this post +thumbnail_override: "/images/projects/2018-07-07-LoEV3go-LOGO-Interpreter/loev3go-banner.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +# project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/obo/loev3go" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "LOGO language interpreter running on a turtle EV3 robot." # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- + +51 years after the [LOGO language](https://en.wikipedia.org/wiki/Logo_(programming_language)) +was designed, a physical LOGO turtle finally arrives: [LoEV3go](https://github.com/obo/loev3go)! + +Build your turtle (building instructions will hopefully come one day), run LoEV3go, open a web browser, +write your LOGO code and watch the turtle draw on the ground. + +picture of robot drawing lines on a piece of paper + +Features: +- Only 31313 EV3 Mindstorms Basic Set is needed (and an SD card for EV3). +- Two felt-tip pens supported, to choose from two colors as you go. +- IR controlled, if you want to "draw by hand". +- On-board web server to interpret, preview and execute your LOGO code. +- Dry-run mode on by default, to help you preserve your carpets. + +Needed: +- Global positioning. + +![LoEV3go web frontend screenshot](https://raw.github.com/obo/loev3go/master/screenshots/web-server.png){: .img-responsive} diff --git a/projects/_posts/2018-08-14-EV3D4-ssh-control.md b/projects/_posts/2018-08-14-EV3D4-ssh-control.md new file mode 100644 index 000000000..d0a68f86d --- /dev/null +++ b/projects/_posts/2018-08-14-EV3D4-ssh-control.md @@ -0,0 +1,50 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@peprolinbot" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "Python" # The programming language used in this project + +thumbnail_override: "/images/projects/2018-08-14-EV3D4-ssh-control/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +project_homepage_url: "https://github.com/peprolinbot/EV3D4-ssh_control" # Homepage for this project +source_code_url: "https://github.com/peprolinbot/EV3D4-ssh_control" # Provide a link to your code +building_instructions_url: "https://www.lego.com/r/www/r/mindstorms/-/media/franchises/mindstorms%202014/downloads/bi/ev3d4.pdf?l.r2=1665046395" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "This is a Lego EV3 R2D2 copy(EV3D4) remote controll via ssh using your computer's keyboard. It's like playing a game!" # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- + +## Build + +First you nedd to build the EV3D4, or other, but the project is based on that model that is on the [EV3's webpage](https://www.lego.com/es-es/mindstorms/build-a-robot/ev3d4) + +## Installl + +Then of build your robot, you need to install the program: + + 1. First connect via ssh to your robot, here is a [tutorial](https://www.ev3dev.org/docs/tutorials/connecting-to-ev3dev-with-ssh/) + 2. Then, clone the repository: `git clone https://github.com/peprolinbot/EV3D4-ssh_control` + 3. Go into the directory you recently downloaded:`cd EV3D4-ssh_control` + 4. Run the script, `pyhton3 conbot.py`,and wait for it says *"LOG"* + + Here you have the function of all the keys(this list is thinked for view from back or from a camera, like a mobile phone): + +|KEY|FUNCTION| +|--|--| +|w|Go forward| +|s|Go back| +| a| Turn left| +|d| Turn right| +| g | Move head to left | +| h | Move head to right | +|Space bar|Stop all motors| +|m|Play StarWars imperial march| +|q|Quit the program| + + 5. For run the next time repeat the steps 1,3, and 4 + +- **My name is:** Pedro Rey Anca +- **Feedback:** https://github.com/peprolinbot/EV3D4-ssh_control/issues diff --git a/projects/_posts/2018-09-02-PS4Explor3r.md b/projects/_posts/2018-09-02-PS4Explor3r.md new file mode 100644 index 000000000..331a240f2 --- /dev/null +++ b/projects/_posts/2018-09-02-PS4Explor3r.md @@ -0,0 +1,42 @@ +--- +author: [ "@artpoz" ] # your GitHub user name +programming_language: "Python" # The programming language used in this project +youtube_video_id: po4B1-oHhMQ +source_code_url: "https://gist.github.com/artpoz/d66f72a6092b580b9903d088dd6d1262" # Provide a link to your code +building_instructions_url: "http://robotsquare.com/2015/10/06/explor3r-building-instructions/" +excerpt: "Lego vehicle Explor3r controlled by PS4 gamepad (DualShock 4)" +--- + +Lego vehicle Explor3r controlled by PS4 gamepad (DualShock 4) + +# Build + +Build Explor3r from these [instructions](http://robotsquare.com/2015/10/06/explor3r-building-instructions/). + +# Install + +- Pair your gamepad with EV3 by pressing and holding the PS button and the sharing button simultaneously. +- Select "Wireless and Networks > Bluetooth > Start scan", then choose "Wireless Controller". +- Copy [ps4explor3r.py](https://gist.github.com/artpoz/d66f72a6092b580b9903d088dd6d1262) on to EV3 Brick. +- Write in command line `chmod +x ps4explor3r.py`. +- Choose file from brickman menu or run from command line `python3 ps4explor3r.py`. + +# Buttons + +|Button|Code| +|--|--| +|X|305| +|O|306| +|Triangle|307| +|Square|304| +|L1|308| +|L2|310| +|R1|309| +|R2|311| +|Share|312| +|Options|313| +|PS|316| +|L3|314| +|R3|315| +|Touchpad|317| + diff --git a/projects/_posts/2018-09-13-Hawking-Bot.md b/projects/_posts/2018-09-13-Hawking-Bot.md new file mode 100644 index 000000000..a68783395 --- /dev/null +++ b/projects/_posts/2018-09-13-Hawking-Bot.md @@ -0,0 +1,19 @@ +--- + +author: [ "@EyeTreasure" ] + +programming_language: "Python 3" + +youtube_video_id: nnCas87dHp8 + +building_instructions_url: "https://github.com/EyeTreasure/HawkingBot/blob/master/Hawking%20Bot%20Assembly%20Guide.pdf" + +project_homepage_url: "https://www.instructables.com/id/Hawking-Bot/" + +source_code_url: "https://github.com/EyeTreasure/HawkingBot/blob/master/HawkingBot.py" + +excerpt: "The Hawking Bot is a Lego MINDSTORMS EV3 Project inspired by the late Stephen Hawking." + +--- + +The Hawking Bot is a Lego MINDSTORMS EV3 Project inspired by the late Stephen Hawking. The Hawking Bot can navigate his way around obstacles and responds to movements and then utters one of Stephen Hawking's famous soundbites and moves in the direction of the moving object. diff --git a/projects/_posts/2018-10-22-Lego-Clock.md b/projects/_posts/2018-10-22-Lego-Clock.md new file mode 100644 index 000000000..df572e4a5 --- /dev/null +++ b/projects/_posts/2018-10-22-Lego-Clock.md @@ -0,0 +1,20 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@riddy8051" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "Shell script" # The programming language used in this project + +youtube_video_id: ShmbfrEXyME # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +#project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/riddy8051/riddy8051.github.io/blob/master/ev3dev_clock" # Provide a link to your code +building_instructions_url: "https://github.com/riddy8051/riddy8051.github.io/blob/master/Lego_EV3_Clock.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "An Internet-enabled analog clock." # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- +This project is written in shell script on a lego EV3 brick running Debian EV3dev Linux. On boot the EV3 brick gets the current time from the internet via WiFi. When the clock script is started the EV3 brick finds the hands of the clock with a colour sensor and sets the clock hands to the current time. It keeps reading the current time and moves the clock hands accordingly. A medium motor is geared down 3:1 to drive the minute hand then a further 12:1 (36:1 total) to drive the hour hand. Enjoy! diff --git a/projects/_posts/2019-01-05-YDLidarCar.md b/projects/_posts/2019-01-05-YDLidarCar.md new file mode 100644 index 000000000..7dc8b8845 --- /dev/null +++ b/projects/_posts/2019-01-05-YDLidarCar.md @@ -0,0 +1,42 @@ +--- +author: [ "oliver.schwaneberg@gmail.com" ] # your GitHub user name" ] + +programming_language: "C++" # The programming language used in this project + +youtube_video_id: NyMrNpszMj8 +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +#project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/Schwaneberg/YDLidarCar" +#building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "This project demonstrates how to use an YDLidar X4 to control a car. Unlike the lidars by Neato, the YDLidar products are intended for teaching and research." +--- + +There is an awesome demonstration on how to use the [Neato X11 lidar](https://www.ev3dev.org/docs/tutorials/using-xv11-lidar/) with ev3dev by @bmegli. +However, the X11 lidar has some disadvantages: + +* Electric and mechanical integration is relatively difficult +* The X11 is a deprecated vacuum robot and the availability of the part may go down soon + +The YDLidar X4 is very similar in size, shape, performance and price, but it is intended for teaching and research projects. +The X4 comes with an adapter board to interface and supply it using a single USB port. +ev3dev directly supports this adapter as a virtual serial port. +The device is well documented and an [YDLidar SDK](https://github.com/yangfuyuan/sdk) is also available. +However, I had some performance issues with the original SDK running under ev3dev, as the brick was not able to process the data buffer as fast as it is filled. +Therefor, I created a modified version of the SDK and integrated it into an example project: YDLidarCar. + + +It is a EV3 based car with front steering and rear wheel drive. + +![Image](https://raw.githubusercontent.com/Schwaneberg/YDLidarCar/master/LDD-CAD/LidarCar.png) + +The project basically contains two C++ classes: One to control the car and one to obtain data from an YDLidar X4. +A third class *CruiseControl* is provided as a proof of concept. +CruiseControl is not navigating anywhere, it just tries not to hit anything. + +[![Demonstration of YDLidarCar with CruiseControl](https://img.youtube.com/vi/NyMrNpszMj8/0.jpg)](https://www.youtube.com/watch?v=NyMrNpszMj8) + +The project is rather young and I didn't try to integrate [ev3dev-mapping](https://github.com/bmegli/ev3dev-mapping) yet. + +You are welcome to send me your feedback and suggestions via e-mail. diff --git a/projects/_posts/2020-03-25-BluPants.md b/projects/_posts/2020-03-25-BluPants.md new file mode 100644 index 000000000..e43fd949a --- /dev/null +++ b/projects/_posts/2020-03-25-BluPants.md @@ -0,0 +1,40 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@blupants" ] + +programming_language: "Python" + +youtube_video_id: Gc9x-HoQR7I # The video ID of the YouTube video to be displayed with this post +thumbnail_override: "/images/projects/2020-03-25-BluPants/Ev3Banner.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +project_homepage_url: "https://www.blupants.com" # Homepage for this project +source_code_url: "https://github.com/blupants/blupants" # Provide a link to your code +building_instructions_url: "https://www.hackster.io/blupantsrobot/coding-with-lego-ev3-and-blupants-e70c3d" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "Learn how to code the fun way with a real robot. Master Python with your Lego EV3 on a free web based coding environment." # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- + +BluPants is a free web based coding environment (IDE). You can start with +very basic drag and drop blocks; then advance to more sophisticated +commands until you may want to completely switch to Python. Documentation +for the BluPants robot module in Python can be found +[here](https://blupants.org/help). + +After assembling your robot and connecting it to the Internet, all you need +to do is to visit [http://blupants.org](http://blupants.org) and start coding. + +Train your Lego Ev3 robot to pick-up blocks and deploy them to the goal. +Use the distance sensor to avoid obstacles and more. Take your robotics +and coding classes to a whole new level. We have successfully run +[sessions](https://docs.google.com/presentation/d/1P2isnXGbCA8tp4052R-veGKMgPXnL8qSOJocW4qevEg/edit?usp=sharing) +with kids from [kindergarten](https://twitter.com/PattersonPDogs/status/1236031367525396481) +to high school with a lot of learning and fun. + +Description: + +- **Project name:** BluPants +- **Location:** Chicago, USA +- **Pictures and media:** Follow us on [Twitter](https://twitter.com/BluPantsRobot) and on our [Youtube channel](https://www.youtube.com/channel/UCG3YaG03eJETCSFbOZn5zWw). +- **Feedback:** Leave us a comment at [Hackster.io](https://www.hackster.io/blupantsrobot/coding-with-lego-ev3-and-blupants-e70c3d) diff --git a/projects/_posts/2020-07-09-Lego-Workshop-IDE.md b/projects/_posts/2020-07-09-Lego-Workshop-IDE.md new file mode 100644 index 000000000..dbec9ada7 --- /dev/null +++ b/projects/_posts/2020-07-09-Lego-Workshop-IDE.md @@ -0,0 +1,52 @@ +--- +author: [ "@freezed-or-frozen" ] # your GitHub user name +programming_language: "Golang" # The programming language used in this project +project_homepage_url: "https://github.com/freezed-or-frozen/lego-workshop" # Homepage for this project +source_code_url: "https://github.com/freezed-or-frozen/lego-workshop" # Provide a link to your code +thumbnail_override: "/images/projects/2020-07-09-Lego-Workshop-IDE/legoworkshop1.png" +--- + +## What ? + +**LEGO Workshop** is a web IDE to develop Python program for the Lego Mindstorm EV3 robot. + + +## Why ? + +Because as a teacher I need a tool that allow multiple students to work remotely (wifi) with one robot. During Python class around 20 students work with 10 robots thanks to a Raspberry PI converted in a Wifi router. +Before this solution I used to work with ipython, but it is too slow regarding EV3 performances. + + +## Is there a screenhot ? +![Alt text](/images/projects/2020-07-09-Lego-Workshop-IDE/legoworkshop1.png?raw=true "Lego Workshop web IDE") + + +## What I can find inside ? +Lego workshop is composed of two parts : + * **server side** written in Golang to start and stop Python scripts remotely + * **client side** written in HTML, CSS, Javascript to edit Python code +Both communicates with websockets over a wifi link. + + +## What can I do ? + - [x] edit Python code in a web page (lines number, color syntax) + - [x] execute Python code remotely + - [x] stop execution + - [X] init robot state after stopping execution (motors...) + - [x] tell every clients about robot's state (execution, clients connected) + - [ ] add an help page with code example and documentation + + +# How to install ? +Steps : + 1. download the github repository + 2. copy the repository inside the robot (with scp) + 3. start the server from brickman, file manager, start_lego-workshop.sh + 4. go to http://1.2.3.4:1337 with your web broser + 5. enjoy ! + + +## Who ? +- **Your name:** David SALLE (@freezed-or-frozen) +- **Location:** France, Niort, Saint-André highschool +- **Feedback:** visit the github project repository diff --git a/projects/_posts/2020-07-17-Sioux.NET-on-Track.md b/projects/_posts/2020-07-17-Sioux.NET-on-Track.md new file mode 100644 index 000000000..1672ede05 --- /dev/null +++ b/projects/_posts/2020-07-17-Sioux.NET-on-Track.md @@ -0,0 +1,31 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@hansodenthal" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "C++" # The programming language used in this project + +youtube_video_id: 4eCCYLcZaPg # The video ID of the YouTube video to be displayed with this post + +project_homepage_url: "https://siouxnetontrack.wordpress.com/" # Homepage for this project + + +excerpt: "Daisy Chain functionality written for the EV3DEV/C++ environment. This functionality is needed for our fully automated train layout." +--- + + +## About Sioux.NET on Track + + +Sioux.NET Logo + + +Sioux .NET on Track is one of the expertisegroups of Sioux Technologies in Eindhoven (The Netherlands). + +We are a group of enthusiastic software engineers who come together after working hours to get experience with Microsoft.NET. +To make learning fun, we develop an application in C# for making a fully automated Lego train using Lego Mindstorms EV3. +The bricks are currently programmed using the default Lego programming environment, but because this programming is rather odd, +we are now moving to the EV3DEV environment. For this environment, we choose C++ as programming language. diff --git a/projects/_posts/2020-11-14-Cat-Keyboard-Treat-Dispenser.md b/projects/_posts/2020-11-14-Cat-Keyboard-Treat-Dispenser.md new file mode 100644 index 000000000..b8f909eb7 --- /dev/null +++ b/projects/_posts/2020-11-14-Cat-Keyboard-Treat-Dispenser.md @@ -0,0 +1,29 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@smcbride-ca" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "Python" # The programming language used in this project + +# youtube_video_id: rrNaLfE9PWA # The video ID of the YouTube video to be displayed with this post +thumbnail_override: "/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4086.jpg" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +# project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/smcbride-ca/ev3dev-Cat-Keyboard" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "This is a robot that will automatically dispense treats. It was designed for my cat, and can be built using a Home set (31313) or Education edition set, and a few spare lego bricks." # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- + +This is a robot that will automatically dispense treats. It was designed for my cat, and can be built using a Home set (31313) or Education edition set, and a few spare lego bricks. + +![photo 1](/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4085.jpg){: .img-responsive} + +![photo 2](/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4086.jpg){: .img-responsive} + +![photo 3](/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4087.jpg){: .img-responsive} + +![photo 4](/images/projects/2020-11-14-Cat-Keyboard-Pics/IMG_4089.jpg){: .img-responsive} diff --git a/projects/_posts/2021-04-29-ev3c-LFOA.md b/projects/_posts/2021-04-29-ev3c-LFOA.md new file mode 100644 index 000000000..3b7278d9b --- /dev/null +++ b/projects/_posts/2021-04-29-ev3c-LFOA.md @@ -0,0 +1,36 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@tassosblackg" ] # your GitHub user name + + +programming_language: "C" # The programming language used in this project + +youtube_video_id: tBDIUVG0XUg # The video ID of the YouTube video to be displayed with this post + + +# project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/tassosblackg/ev3c_LFOA" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "A base code for MINDSTORMS EV3 using C, and HiTechnic Motors Kit." +--- +More info: +- It was implemented for line following and obstacle avoidance exhibition purposes. +- There are two modules one for DC & Servo motors and one for Lego sensor like IR sensor. +- There is also a test case of code lfoa.c as a guideline on how to use the above modules in order to build your own application. + + + +Details: + +- **Your name:** TassosK +- **Location:** SKG,Greece +- **Year:** 2017 (time when project was developed) +- **Pictures and media:** +- **Feedback:** through github project's discussions page + +- **For more you can see this:** , sorry it's in greek but there are the schemas that will help you understand the structure. +- **You can also check this Block diagrams :** +- **And there is the HiTechnic documentations here:** diff --git a/projects/_posts/2023-11-16-Ev3-Doom-port.md b/projects/_posts/2023-11-16-Ev3-Doom-port.md new file mode 100644 index 000000000..e52b2276b --- /dev/null +++ b/projects/_posts/2023-11-16-Ev3-Doom-port.md @@ -0,0 +1,35 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@Seva167" ] # your GitHub user name + +programming_language: "C" # The programming language used in this project + +youtube_video_id: 34S983xN5W8 # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +# project_homepage_url: "http://example.com/my-super-cool-project" # Homepage for this project +source_code_url: "https://github.com/Seva167/ev3doom" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "A 1993 game classic powered by your robots." +--- + +**A complete port of Doom engine for EV3. Works very well for this hardware.** + +Code on [Github](https://github.com/Seva167/ev3doom) + +![screenshot](https://raw.githubusercontent.com/Seva167/ev3doom/main/images/screenshot.png) + +- Fully compatible with the original Doom +- Uses dithering for better graphics +- Music and sound are working (if you compile it with sound support) + +You can download precompiled binary on [releases](https://github.com/Seva167/ev3doom/releases/latest) page + +Port is based on [Doomgeneric](https://github.com/ozkl/doomgeneric) + +For help create an issue on [github](https://github.com/Seva167/ev3doom/issues) + +Enjoy! diff --git a/projects/_posts/2024-02-20-evdrive.md b/projects/_posts/2024-02-20-evdrive.md new file mode 100644 index 000000000..7eaee7f5b --- /dev/null +++ b/projects/_posts/2024-02-20-evdrive.md @@ -0,0 +1,26 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@xgames123" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "python" # The programming language used in this project + +youtube_video_id: g0dI3Tlzhqg # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +# project_homepage_url: "https://github.com/Xgames123/evdrive" # Homepage for this project +source_code_url: "https://github.com/Xgames123/evdrive" # Provide a link to your code +# building_instructions_url: "http://example.com/building-instructions.pdf" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "steering wheel + pedals made with lego ev3" # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- +**Steering wheel + pedals made with lego ev3.** + +Code and build instructions on [github](https://github.com/Xgames123/evdrive) + +## Known Issues +- It simulates an xbox controller so It probably won't work on some driving games that don't support controllers +- Force feedback doesn't work yet diff --git a/projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md b/projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md new file mode 100644 index 000000000..670cb2385 --- /dev/null +++ b/projects/_posts/2024-11-15-EV3-Segway-NodeRED-Beacon.md @@ -0,0 +1,23 @@ +--- +# Fill out as many of these as you can, and delete the rest. +# Text on a line after a "#" is a comment and is ignored for the published page. + +author: [ "@TheNoobInventor" ] # your GitHub user name +# or make a list if there is more than one author +# author: [ "@person1", "@person2", "person without GitHub account" ] + +programming_language: "MicroPython" # The programming language used in this project + +youtube_video_id: rd8de9ClbUM # The video ID of the YouTube video to be displayed with this post +# thumbnail_override: "/images/projects/my-project/my-image.png" # If you don't have a YouTube video (or the video thumbnail isn't good) you can uncomment this line to set your own image for the project. + +source_code_url: "https://github.com/TheNoobInventor/lego-ev3-segway" # Provide a link to your code +building_instructions_url: "https://robotsquare.com/2014/06/23/tutorial-building-balanc3r/" # how to build the model out of LEGO (*not* how to build the source code) + +excerpt: "A segway robot is built with the LEGO MINDSTORMS EV3 robot kit and the EV3 Gyro sensor. " # A short summary of your project. This can be a sentence or a paragraph, but it's recommended to keep it under 3 sentences. +--- +The self-balancing code is written in MicroPython using EV3 MicroPython which runs on top of the ev3dev Operating System (OS). The robot can be controlled using Node-RED through MQTT or with the EV3 infrared beacon. + +- **Name:** Chinedu Amadi +- **Location:** Nigeria +- **Feedback:** You can create an [issue](https://github.com/TheNoobInventor/lego-ev3-segway/issues) in the project repository. diff --git a/projects/_posts/2025-05-26-EV3Aero.md b/projects/_posts/2025-05-26-EV3Aero.md new file mode 100644 index 000000000..2d071129b --- /dev/null +++ b/projects/_posts/2025-05-26-EV3Aero.md @@ -0,0 +1,27 @@ +--- +title: EV3Aero +author: ["@Slashingbee"] +programming_language: Python +project_homepage_url: https://github.com/Slashingbee/EV3Aero +source_code_url: https://github.com/Slashingbee/EV3Aero +building_instructions_url: https://github.com/Slashingbee/EV3Aero#installation +youtube_video_id: 6nR1NGUVFuk +excerpt: Modular flight controller for LEGO Mindstorms EV3 running ev3dev. Build custom flight simulator controllers using LEGO motors and sensors. +--- + +EV3Aero is an open-source project that allows you to build a modular flight controller using LEGO Mindstorms EV3 running ev3dev. The system enables creating joysticks, throttles, and other flight controls compatible with flight simulators. + +## Features + +- Modular design allowing flexible hardware customization. +- Uses LEGO motors and sensors for unique, customizable controllers. +- Compatible with various flight simulators. +- Open source under the Apache-2.0 license. + +## Installation and Usage + +Detailed installation and setup instructions are available in the [README](https://github.com/Slashingbee/EV3Aero#installation). + +--- + +Feel free to contribute, test, and develop new features for the project! diff --git a/projects/_posts/2025-08-11-ev3-MQTT-ROS.md b/projects/_posts/2025-08-11-ev3-MQTT-ROS.md new file mode 100644 index 000000000..a9cbc0a89 --- /dev/null +++ b/projects/_posts/2025-08-11-ev3-MQTT-ROS.md @@ -0,0 +1,48 @@ +--- +title: "ev3 mqtt ROS" +author: ["@JSDaleman"] +programming_language: Python +project_homepage_url: https://github.com/JSDaleman/ev3_mqtt_ros/blob/main/README_EN.md +source_code_url: https://github.com/JSDaleman/ev3_mqtt_ros +building_instructions_url: https://github.com/JSDaleman/ev3_mqtt_ros/blob/main/README_EN.md#%EF%B8%8F-lego-ev3-connection-with-ros +youtube_video_id: NIEbXVXS-eo +excerpt: This project controls a LEGO EV3 gyro-sensor driving base via ROS and MQTT, enabling remote teleoperation and simulation in RViz/Gazebo. +--- + +# 🤖 ev3_mqtt_ros + +[![Python](https://img.shields.io/badge/Python-3.8+-3776AB?logo=python&logoColor=white)](https://www.python.org/) +[![ROS](https://img.shields.io/badge/ROS-Noetic-blue?logo=ros&logoColor=white)](https://www.ros.org/) +[![MQTT](https://img.shields.io/badge/MQTT-v3.1.1-660066?logo=eclipse-mosquitto&logoColor=white)](https://mqtt.org/) +[![LEGO EV3](https://img.shields.io/badge/LEGO-EV3-E2231A?logo=lego&logoColor=white)](https://www.lego.com/en-us/themes/mindstorms) +[![License](https://img.shields.io/badge/License-MIT-green)](LICENSE) + +🚀 **Learn, build, and control!** +This project is designed for students, researchers, and robotics enthusiasts who want to explore mobile robot teleoperation using real hardware and industry-standard tools. By combining **ROS**, **MQTT**, and **LEGO EV3**, it offers a practical way to understand robotics concepts, sensor integration, and simulation—all in one package. + +--- + +## 📚 About the Project + +Hi, my name is **Juan Sebastián Daleman**. I am a graduate student at **Universidad Nacional de Colombia**, based in Bogotá D.C., Colombia. +This project was developed as part of the *Fundamentals of Mobile Robotics* postgraduate course, within the [Labsir](https://github.com/labsir-un) research group. It is an open-source initiative aimed at exploring mobile robotics using professional tools such as **ROS** to control and process various sensors, while also simulating robot behavior in a virtual environment. + +--- + +## ✨ Features + +- 💻 **Cross-platform compatibility**: Works on Linux (native), Windows via WSL, or Raspberry Pi. +- 📡 **Sensor integration**: Supports the LEGO EV3 gyro sensor, with potential for ultrasonic, color, and touch sensors. +- 🎮 **Custom teleoperation interface**: Control the robot using a keyboard, joystick, or GUI via rqt plugin. +- 🔗 **MQTT broker flexibility**: Compatible with HiveMQ, Mosquitto, or local MQTT brokers. +- 🖥 **Simulation and visualization**: Full support for RViz and Gazebo with 3D robot models. +- ⚡ **QoS and latency optimization**: Adjustable MQTT Quality of Service and network tuning for low-latency control. +- 🛠 **Extensibility**: Modular ROS node structure to easily add new sensors, actuators, or behaviors. +- 🎓 **Educational focus**: Designed for learning ROS, MQTT, and robotics in academic or hobbyist contexts. +- 📊 **Logging and monitoring**: Record and review robot data using rosbag or MQTT logs. +- 🌐 **Remote deployment**: Send and run code on the EV3 over SSH without a physical connection. + + +## 📬 Contact +If you would like to contact me, please email **juan@sebastiandaleman.com**. +For comments or questions, feel free to create an [issue](https://github.com/JSDaleman/ev3_mqtt_ros/issues) in the repository. diff --git a/support.md b/support.md index f95e9ef80..c90217c1c 100644 --- a/support.md +++ b/support.md @@ -102,35 +102,11 @@ monitor our Gitter room and are happy to provide support in live chat. **This is the recommended means of live chat support for ev3dev.** -If you have a GitHub or Twitter account, come say hello at . +If you have a GitHub, GitLab or Twitter account, come say hello at . [gitter.im]: https://gitter.im - -IRC ---- - -IRC is [Internet Relay Chat]. You can find other ev3dev users in [#ev3dev on -freenode.net]. It is a great way to ask quick questions or carry on a conversation. - -If you have never used IRC before, there are a some things you need to know: - -* We are a global community - not everyone lives in the same time zone. If you - ask a question and no one answers, stay connected for a day or two and someone - may eventually answer (or leave a note that you will check the logs - see below). -* If no one ever answers you, do not be offended. The right person did not see - your message, or maybe no one knows the answer. Ask again later or open a GitHub issue. - -Also, #ev3dev is logged by `ev3devlogbot`. You can find the logs at . - -If you don't already have an IRC client program, you can connect right in your -browser. Just enter a nickname and click start below. - -