MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "SimpleBot-Assembly",
        "continue": "gapcontinue||"
    },
    "query": {
        "pages": {
            "353": {
                "pageid": 353,
                "ns": 0,
                "title": "Rocking FPGA SAO Installation",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "= Overview =\n\n'''GitHub repository:''' [https://github.com/geekscape/ohmc2022-firmware https://github.com/geekscape/ohmc2022-firmware]\n\nThis project utilizes the excellent prior work from the [https://workshop.fomu.im/en/latest FOMU FPGA] project ... with substantial addition work by [https://github.com/andykitchen/ohmc2022-firmware Andy Kitchen].\n\nFPGA gateware and firmware for the Rockling FPGA SAO (''codec'' branch) currently supports the Theremin input (dual input frequency counters), the FPGA running a soft RISC-V processor and hardware peripherals.  However, the STGL-5000 audio codec IC integration is still a work-in-progress.\n\n= Set-up USB hot-plug UDEV rules (for Linux only) =\n\nWhen the Rockling is connected to the computer's USB port, the dynamically created device file <code>/dev/bus/usb/001/...</code> will need to have the correct permissions set by the UDEV rules.\n\nFrom [https://workshop.fomu.im/en/latest/requirements/drivers.html FOMU workshop instructions]\n\n    sudo groupadd plugdev\n    sudo usermod -a -G plugdev $USER\n\nLog out and log in again\n\n    sudo bash\n    vi /etc/group  # Add users to \"plugdev:x:46:$USER\"\n    vi /etc/udev/rules.d/99-fomu.rules\n        SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"1209\", ATTRS{idProduct}==\"5bf0\", MODE=\"0664\", GROUP=\"plugdev\"\n    udevadm control --reload-rules\n    udevadm trigger\n\n= Install DFU utility for flashing FPGA gateware (bitstream) =\n\n    sudo apt-get install dfu-util  # Avoid using FOMU ToolChain version\n    dfu-util -l                    # Version 0.11\n\n= Install build tools =\n\n    sudo apt-get update\n    sudo apt-get install python3-venv\n    sudo apt-get install meson  # ninja-build\n\n= Download YoSYS FPGA EDA tools from https://github.com/YosysHQ =\n\n    OS_TYPE=linux  # or darwin or windows\n    wget https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2021-05-29/oss-cad-suite-$OS_TYPE-x64-20210529.tgz\n    tar -zxpf oss-cad-suite-$OS_TYPE-x64-20210529.tgz\n    mv oss-cad-suite-$OS_TYPE-x64 oss-cad-suite\n\n= Download FOMU development tool chain, includes RISC-V cross-compiling toolchain =\n\n    wget https://github.com/im-tomu/fomu-toolchain/releases/download/v1.6/fomu-toolchain-Linux.tar.gz\n    tar -zxpf ../fomu-toolchain-Linux.tar.gz\n\n= Download and install FPGA development software =\n\n    git clone https://github.com/geekscape/ohmc2022-firmware.git --branch codec\n    cd ohmc2022-firmware\n    git submodule update --init --recursive\n\nCreate and prepare virtual environment\n\n    rm -rf venv\n    ./setup-venv.sh  # Doesn't work if \"oss-cad-suite/environment\" and $PATH already set-up\n\nEverything above here needs to be done just once ... now set-up and ready to go !\n\n= Build Rockling FPGA gateware and firmware =\n\n    source venv/bin/activate\n\n    cd ..\n    source oss-cad-suite/environment\n    cd -\n\n    export PATH=$HOME/play/fpga/fomu/fomu-toolchain-linux_x86_64-v1.6/bin:$PATH\n\n    make all BITSTREAM_FLAGS=\"--with-analyzer\"\n    # python rockling.py\n\n= Download FPGA gateware (bitstream) on to Rockling SAO =\n\nConnect Rockling FPGA SAO to USB host port: Fish eye should be slowly pulsing with cyan color\n\n    /usr/bin/dfu-util -l\n\nFish eye will quickly pulse with green color\n\n    /usr/bin/dfu-util -D build/rockling/gateware/rockling.bin\n\nUpon success fish eye will quickly pulse with white color or upon failure quickly pulse with red color\n\nRockling should be now running the RISC-V processor with firmware running on top of that\n\n= Test to see correct firmware \"debug_status\" =\n\n    riscv64-unknown-elf-readelf -s build/rockling/software/bios/bios.elf | egrep '(debug_status|global_counter)'\n    wishbone-tool 0x01000010\n        INFO [wishbone_tool::bridge::usb] opened USB device device 120 on bus 001\n        Value at 01000010: a0110060  # I2C DAC and Audio Codec found\n        Value at 01000010: a011ffff  # Error: Only I2C Audio Codec found\n        Value at 01000010: ffff0060  # Error: I2C DAC found\n        Value at 01000010: ffffffff  # Error: I2C no devices found\n\n= Test using wishbone bus via shell commands =\n\nWill show what I2C peripherals are available on I2C bus 1 ... Audio Codec and DAC\n\n    ./tools/i2c_probe.sh\n\n= Test reading Theremin dual input frequency counting via Python script =\n\n    wishbone-tool --server=wishbone  # terminal session 1\n    python tools/read_freq.py        # terminal session 2\n\n= Reset (reboot) Rockling FPGA =\n\nRun this script or sometimes need to power cycle the hardware\n\n    ./tools/reboot.sh"
                    }
                ]
            },
            "60": {
                "pageid": 60,
                "ns": 0,
                "title": "SimpleBot",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "SimpleBot is a [http://nodebots.io/ NodeBots] compatible robot platform designed by Andrew Fisher, controlled by a Raspberry Pi using a PiLeven Arduino compatible expansion board and a SimpleBot shield designed by Angus Gratton to simplify assembly.\n\nSimpleBot is designed to give you a quick win getting started with robotics, providing you with basic movement and sensor functionality that you can control from whatever software environment you like. You can then extend it with other sensors and actuators, or swap out parts to make the robot bigger or smaller, while building on the same basic principles and architecture. SimpleBot is the gateway drug to the world of robotics!\n\n[[File:SimpleBot-oblique.jpg|480px]]\n\n==Features==\n\nSimpleBot features include:\n\n* Simple assembly on a Coreflute chassis using cable ties and minimal tools\n* Easy to modify to incorporate your own design ideas and features\n* Chassis can be cut out by hand, or using a laser cutter if you have access to one\n* Raspberry Pi brain\n* WiFi connectivity\n* PiLeven (Arduino compatible) I/O controller\n* SimpleBot shield provides convenient connectors\n* 2 x continuous-rotation servos for mobility\n* 1 x ultrasonic distance sensor for obstacle avoidance\n* 1 x light sensor for phototropic or photophobic behaviour\n* 4 x WS2812 RGB LEDs for blinky fun\n* Powered by common AA cells\n\n==Technical Overview==\n\nSee more at [[SimpleBot Technical Overview]].\n\n==Assembly Instructions==\n\nSee more at [[SimpleBot-Assembly|SimpleBot Assembly]]\n\n==Additional Resources==\n\nSee more at [[SimpleBot-Resources|SimpleBot Resources]]"
                    }
                ]
            }
        }
    }
}