summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaveHodder67 <dave.hodder@focusrite.com>2015-07-02 20:07:53 +0100
committerDaveHodder67 <dave.hodder@focusrite.com>2015-07-02 20:07:53 +0100
commit32622f327205b746662c0e0b3139377844201131 (patch)
tree0ed3bcab8f36dbf9ecccf657351c45feb48632cf
parentcffccca0cac1c8604a6633f17ded430d176f52be (diff)
downloadlaunchpad-polymaker-32622f327205b746662c0e0b3139377844201131.tar.gz
launchpad-polymaker-32622f327205b746662c0e0b3139377844201131.zip
minor tidyup
-rw-r--r--README.md12
1 files changed, 7 insertions, 5 deletions
diff --git a/README.md b/README.md
index 57db40d..86fed7b 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ This project uses [Vagrant](https://www.vagrantup.com/) to manage the build envi
305. Type `vagrant up`, hit enter and grab a beverage of your choice. It's building a lovely fresh development machine just for you! 305. Type `vagrant up`, hit enter and grab a beverage of your choice. It's building a lovely fresh development machine just for you!
31 31
32# Building 32# Building
33Once your new "box" is up and running, you can build the app in one of two ways. In the spirit of experimentation, we've created a full Eclipse development environment for you to use. However, you might prefer to do things on the command line. (if you do, you might also want to run your Vagrant box headless, which you can do by modifying the Vagrantfile). 33Once your new "box" is up and running, you can build the app in one of two ways. In the spirit of experimentation, we've created a full Eclipse development environment for you to use. However, you might prefer to do things on the command line.
34 34
35# To use the command line interface: 35# To use the command line interface:
361. SSH into the Vagrant "box" by doing `vagrant ssh` 361. SSH into the Vagrant "box" by doing `vagrant ssh`
@@ -65,13 +65,13 @@ I won't describe how to use these tools, I'm sure you already know - and if you
65Don't worry - even if you upload toxic nonsense to the device, you cannot brick it - the bootloader is stored in a protected area of flash. If your new firmware doesn't boot, you'll get stuck at step (3) above, or with a crashed unit. Simply repeat the above process with the shipping firmware image (resources/Launchpad Pro-1.0.154.syx) to restore your unit to the factory defaults. Better yet, fix the bugs :) 65Don't worry - even if you upload toxic nonsense to the device, you cannot brick it - the bootloader is stored in a protected area of flash. If your new firmware doesn't boot, you'll get stuck at step (3) above, or with a crashed unit. Simply repeat the above process with the shipping firmware image (resources/Launchpad Pro-1.0.154.syx) to restore your unit to the factory defaults. Better yet, fix the bugs :)
66 66
67# API 67# API
68The API works in two directions - from the HAL (hardware abstraction layer) to the app, and from the app to the HAL. From the HAL you can: 68The API works in two directions - from the HAL (hardware abstraction layer) to the app, and from the app to the HAL. The HAL calls into your app to:
69 69
70- Receive messages from the pads and buttons 70- Receive user events from the pads and buttons
71- Receive messages from the MIDI/USB ports 71- Receive messages from the MIDI/USB ports
72- Receive a tick message to drive timer based code 72- Receive a tick message to drive timer based code
73 73
74To the HAL, your app can 74By calling into the HAL, your app can
75 75
76- Write colours to the LEDs 76- Write colours to the LEDs
77- Send messages to the MIDI/USB ports 77- Send messages to the MIDI/USB ports
@@ -83,10 +83,12 @@ Currently the HAL/app interface does not support reading or writing the flash me
83# Debugging 83# Debugging
84We decided not to support or encourage using a hardware debugger, as opening a Launchpad Pro to fit a debugging header can easily damage the FSR (force sensitive resistor) sheet. 84We decided not to support or encourage using a hardware debugger, as opening a Launchpad Pro to fit a debugging header can easily damage the FSR (force sensitive resistor) sheet.
85 85
86Instead, you're going to have to do things the old fashioned way - by blinking LEDs or sending MIDI messages. For what it's worth, that's the way I've developed this version of the firmware - dogfooding all the way ;) 86Instead, you're going to have to do things the old fashioned way - by blinking LEDs or sending MIDI messages (though hopefully no need for a 'scope!). For what it's worth, that's the way I've developed this version of the firmware - dogfooding all the way ;)
87 87
88If do you want to debug interactively (and of course you do), you can use the simple command-line simulator located in the `/tools` directory. It is compiled and ran as part of the build process, so it serves as a very basic test of your app before it is baked into a sysex dump. If you want to test particular button presses or MIDI messages, just modify it to send those messages to your app, and debug away. Yes, it's rudimental - wiring it up to the device over MIDI for interactive testing would be fab! 88If do you want to debug interactively (and of course you do), you can use the simple command-line simulator located in the `/tools` directory. It is compiled and ran as part of the build process, so it serves as a very basic test of your app before it is baked into a sysex dump. If you want to test particular button presses or MIDI messages, just modify it to send those messages to your app, and debug away. Yes, it's rudimental - wiring it up to the device over MIDI for interactive testing would be fab!
89 89
90# Vagrant tips 90# Vagrant tips
91When you're done developing, simply type `vagrant suspend` to halt your VM without destroying it - this will make `vagrant up` a lot quicker next time. If you're really finished, `vagrant destroy` will completely remove the VM from your system (but not any of your code). 91When you're done developing, simply type `vagrant suspend` to halt your VM without destroying it - this will make `vagrant up` a lot quicker next time. If you're really finished, `vagrant destroy` will completely remove the VM from your system (but not any of your code).
92 92
93If you only want to build usingthe command line, you might want to run your Vagrant box headless, which you can do by modifying the Vagrantfile: `vb.gui = false`. You can also add more CPUs, RAM etc. if you want.
94