Blog
Page: 0 ... 5 10 11 12 13 14 15 16 17 18 ... 20 ... 25 ... 30 ... 35 ... 40 ... 45 ... 50 ... 55 ... 60 ... 65 ... 70 ... 75 ... 80 ... 85 ... 90 ... 95
Midi Foot-controller Update
Date: 14/6/2011
Tags: axefx
Last night I investigated whether I could compile and flash the ROM from Windows7 64bit. The compiling side was fine, I could build the binary but the program I was using to flash that binary onto the AVR chip via the parallel port doesn't work on Windows7-64bit. Which isn't to say you can't do AVR development on Win7 but it just means that different software is needed. On XP I've been using PonyProg2000 with a lot of success.

On the hardware front, I wired up all the pots to the test harness and checked they were applying the right voltage to the analog pins. I've soldered those onto the PCB traces and not the pads because it's a pain removing wires from pads and then trying to get the solder out and put something else in.

Software wise I have re-written the menu and not everything is hooked up at the moment. So I spent some time uncommented some sections of the controller code and got them compiling with the new menu layout. The structure of things in memory (both RAM and EEPROM) has changed to make things more flexible and those changes need to be propagated out to all the rest of the code. (Parts that didn't compile originally have been commented out). Also I put together a Visual Studio 2005 project for the desktop version of the controller.

And I'm loving zip ties at the moment... they make things so much more organized.
(0) Comments | Add Comment

64bit Adventures
Date: 11/6/2011
Tags: coding scribe
I've been playing around with 64bit builds of Scribe on windows. And it's been er... interesting to say the least.
  • By default the Visual Studio 2005 installed doesn't install the x64 compiler and libraries. Nice...
  • When you do get that installed, and then create an x64 profile in your solution you get the option to copy the settings from the 32bit profile. Which for the most part works, but when you try and compile said x64 profile, you discover this delightful error:
    fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
    Which in a nutshell means you are linking 64bit objects into a 32bit binary. However the standard response that people get on the forums is that you have to set your Linker- >Advanced->TargetMachine correctly. And you know what? Well it WAS set correctly to MachineX64. So what gives? Well if you click on Linker->CommandLine and look in "Additional Options" you'll see /MACHINE:I386. Sigh.
  • When running Windows7 64bit and you put additional 32bit DLL's in C:\Windows\System32 you'd think... that since there is a "32" in that folder name that is where they go. Well no... the 64bit DLL's go in System32 and the 32bit DLL's go in "System". Gaaaaahhhhh.
But at the end of the day, there it is... 64bit Scribe:
(2) Comments | Add Comment

Foot Controller Setup Menu
Date: 7/6/2011
Tags: axefx
So last night I rewrote the setup menu of the Axefx Footcontroller software. Basically before it was very simple, had one level of editing where you could scroll through all the parameters fairly easily. However you were quite limited in what you could do with the IA buttons (send one CC) and knob parameters (send one CC). Also the "Amp Mode" has hard coded. Also it was hard coded to 3 IA buttons, not flexible if there were more than that.

The new menu system has much more flexibility. Basically you have 5 levels of menus, I know it sounds like a lot, but it's manageable. The first level is simply picking between the pre-preset settings and the global settings. In the preset settings, you have 3 sections for the IA buttons, and the "grouping" setting for making the IA's mutually exclusive. Inside the IA button settings you now have 2 commands (limited by the EEPROM memory in the current AVR), where each command (4 bytes) is one of:
  • None - send no command
  • CC - send a CC between [min] and [max]
  • Block - turn an axefx block on/off
  • Sysex - axefx sysex set parameter [block], [param] between [min] and [max]
So you can do 2 things with any given IA button. Most of the time you'd want to just use one command to switch a block on or off. But now there is some flexibility to do more things if needed.

Now in the global menu there is 3 sections for the different parameter modes (parameters are the 6 knobs and 2 external controllers). The modes are "Normal", "Amp1" and "Amp2". In normal mode the default operation is to send a midi CC command, with the default settings being the axefx EXTERN1 to EXTERN8 midi CC's. Amp1 and Amp2 mode default to sending axefx sysex command's that map to the Gain/Bass/Mid/Treble/Presence/Master for the Amp1 and Amp2 block. That mode change is tied to a 3 position hardware switch on the box somewhere. Each of those (3) modes has 8 parameter settings, that each have again 2 commands. The command editing is exactly the same options as the IA's.

Then you also have the Tuner CC and Tempo CC, the midi channel and the factory reset function. The factory reset just configures all the IA's for every preset to do nothing and makes the global parameters do all the default things for the different modes.

All in all it's now looking and feeling much better. The hardware testing is coming along nicely. I'm still working on dialing in the LCD code... it's being a little finicky. But hopefully I'll get it sorted tonight.
(0) Comments | Add Comment

Footcontroller Photos
Date: 6/6/2011
Tags: axefx
Some more photos of the footcontroller PCB kit:

  
(0) Comments | Add Comment

Foot Controller Testing
Date: 6/6/2011
Tags: axefx
Tonight I put together a test harness on some proto-board, using 12 micro-switches to test the functions on the foot controller board. So far so good, all the parts are working as expected. The next thing to test is the MIDI input and output. The next revision of the controller PCB with allow for connecting to the test board via ribbon cable and IDC plugs. Which will be much neater than soldering the test harness in.


Also I've installed a contrast pot for the LCD. Unfortunately I messed up the trace going to the contrast pin on the LCD in the PCB design. Not to worry, I've cut that trace on the PCB's using a dremel which leaves it free to be hooked via a nearby pad to whatever you'll use for contrast control. The kit instructions will cover that.

After getting all the buttons hooked up tonight, I tried all the setup menu functions, like factory reset, configuring the MIDI channel, changing the IA blocks etc. Then I moved around the presets, and switched some IA blocks on and off. Everything worked first time... so that's an excellent sign!
(0) Comments | Add Comment

First PCB build
Date: 3/6/2011
Tags: axefx
Made a quick video of building the first PCB:
(0) Comments | Add Comment