summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaveHodder67 <dave.hodder@focusrite.com>2015-07-02 14:37:35 +0100
committerDaveHodder67 <dave.hodder@focusrite.com>2015-07-02 14:37:35 +0100
commit114d76fbcd987bf382bc255af0128a839321ed84 (patch)
tree6df141ee36a160b4636d5b97ef2ceb86c3d195b1
parentb04c9bb7e661ae82e223822ebc4d5d80287736db (diff)
downloadlaunchpad-polymaker-114d76fbcd987bf382bc255af0128a839321ed84.tar.gz
launchpad-polymaker-114d76fbcd987bf382bc255af0128a839321ed84.zip
spelling mistakes
-rw-r--r--README.md16
1 files changed, 8 insertions, 8 deletions
diff --git a/README.md b/README.md
index e6486a7..3f9b2ab 100644
--- a/README.md
+++ b/README.md
@@ -5,16 +5,16 @@ Open source firmware for the Novation Launchpad Pro grid controller! By customi
5- Create chorders, sequencers, light shows, games and more 5- Create chorders, sequencers, light shows, games and more
6- Learn a little about software development! 6- Learn a little about software development!
7 7
8You'll definiteley need *some* C programming experience, but we've deliberately kept much of the firmwarey nastiness tucked away, to make the process a little friendlier. 8You'll definitely need *some* C programming experience, but we've deliberately kept much of the firmwarey nastiness tucked away, to make the process a little friendlier.
9 9
10This project is still at an early stage, and no "interesting" example apps have yet been developed. You might want to hang on until there's something more detailed before you get stuck in. Or not! 10This project is still at an early stage, and no "interesting" example apps have yet been developed. You might want to hang on until there's something more detailed before you get stuck in. Or not!
11 11
12# Philosophy 12# Philosophy
13We could have released the full source for the factory shipping firmware, but we decided not to for a variety of reasons. Instead, we created a simplified framework for developing "apps" on Launchpad, which comprises a build environment, application entry points / API, and a library of low level source code. Our reasoning is as follows: 13We could have released the full source for the factory shipping firmware, but we decided not to for a variety of reasons. Instead, we created a simplified framework for developing "apps" on Launchpad Pro, which comprises a build environment, application entry points / API, and a library of low level source code. Our reasoning is as follows:
14 14
15- There is no value in customising low level routines such as LED multiplexing or ADC scanning - this code has been carefully tweaked over many months to deliver the best results, and is not something you'd want to mess with. 15- There is no value in customising low level routines such as LED multiplexing or ADC scanning - this code has been carefully tweaked over many months to deliver the best results, and is not something you'd want to mess with.
16- There is very little value in customising main() or other low level features, and again these things are hard to do well. Interrupt priorities? No. 16- There is very little value in customising main() or other low level features, and again these things are hard to do well. Interrupt priorities? No.
17- If we shipped the application firmware as-is, we'd have a support nightmare on our hands (imagine the phonecalls - my "Launchpad Pro is behaving strangely..."). Instead, we wanted to create a clear boundary between "normal" usage with Ableton, and custom firmware. As such, Ableton integration has been removed from this firmware, as has the setup / navigation functionality. In addition, the "Live" USB MIDI port has been removed, and the device has a different name and USB PID. 17- If we shipped the application firmware as-is, we'd have a support nightmare on our hands (imagine the phone calls - my "Launchpad Pro is behaving strangely..."). Instead, we wanted to create a clear boundary between "normal" usage with Ableton, and custom firmware. As such, Ableton integration has been removed from this firmware, as has the setup / navigation functionality. In addition, the "Live" USB MIDI port has been removed, and the device has a different name and USB PID.
18- If we left the Ableton integration and menu structure in place, open firmware developers would have to work around it. They would also potentially consume precious RAM/CPU resources. I've a feeling this isn't what you'd want, but we're interested to hear your feedback. 18- If we left the Ableton integration and menu structure in place, open firmware developers would have to work around it. They would also potentially consume precious RAM/CPU resources. I've a feeling this isn't what you'd want, but we're interested to hear your feedback.
19- Licensing requirements for the CMSIS library version we use are ambiguous. Yes, we could port to the public version, but why bother, given the above reasoning - I'd prefer to spend my time on good documentation and examples. As such, all the CMSIS code is compiled into launchpad_pro.a, and we do not need to distribute the headers. 19- Licensing requirements for the CMSIS library version we use are ambiguous. Yes, we could port to the public version, but why bother, given the above reasoning - I'd prefer to spend my time on good documentation and examples. As such, all the CMSIS code is compiled into launchpad_pro.a, and we do not need to distribute the headers.
20 20
@@ -30,13 +30,13 @@ 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
33You can build the app in one of two ways. In the spirit of experimenation, I'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. (if you do, you might also want to run your Vagrant box headless, which you can do by modifying the Vagrantfile).
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`
372. At the command prompt, simply type `make` 372. At the command prompt, simply type `make`
38 38
39# -To build using the Eclipse GUI 39# To build using the Eclipse GUI
40 40
411. Log in to the Ubuntu GUI (the password is, as is the convention, "vagrant"). 411. Log in to the Ubuntu GUI (the password is, as is the convention, "vagrant").
422. Launch Eclipse from the doodah on the top left (it's a bit like Spotlight) 422. Launch Eclipse from the doodah on the top left (it's a bit like Spotlight)
@@ -44,7 +44,7 @@ You can build the app in one of two ways. In the spirit of experimenation, I've
444. In Eclipse, choose "File->Import..." 444. In Eclipse, choose "File->Import..."
455. Under "C/C++", choose "Existing Code as Makefile Project", hit "Next" 455. Under "C/C++", choose "Existing Code as Makefile Project", hit "Next"
466. Give the project any name you like (launchpad?) 466. Give the project any name you like (launchpad?)
477. Under "Existing code location" type `/vagrant` 477. Under "Existing Code Location" type `/vagrant`
488. Hit Finish - you should now see your project. If not, click "Workbench" and it should appear. 488. Hit Finish - you should now see your project. If not, click "Workbench" and it should appear.
499. Click the hammer icon at the top, and wait while the project builds. 499. Click the hammer icon at the top, and wait while the project builds.
50 50
@@ -67,7 +67,7 @@ Don't worry - even if you upload toxic nonsense to the device, you cannot brick
67# API 67# API
68The most crucial parts of the API are: 68The most crucial parts of the API are:
69 69
70- Recieving messages from the pads and buttons 70- Receiving messages from the pads and buttons
71- Writing colours to the LEDs 71- Writing colours to the LEDs
72- Sending and receiving messages from the MIDI ports 72- Sending and receiving messages from the MIDI ports
73- Receiving a tick message to drive timer based code 73- Receiving a tick message to drive timer based code