Jump to content

Wilba

Frequent Writer
  • Posts

    3,310
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Wilba

  1. MIDIBox SID (step A first, ultimately step C)... also a MIDI controller/instrument inspired by Ztar (see here: http://www.starrlabs.com/ ) basically an array of touch switches in fretboard arrangement and optical strum/pluck sensors. Encoders are for basic parameter control.
  2. I'm having trouble locating a supplier if rotary encoders that is either in Australia or delivers to Australia. Any Aussies out there who can suggest how they got their hands on some? Thanks, Wilba
  3. $16 is a good price. I bought two on-line for US$25 each! So count me in for at least two.
  4. Thanks for the answers TK, OK, since you're interested, I'll explain further... I've been working on a custom MIDI controller for a few months, using a PIC16F84... until I realised I really needed more I/O pins, A/D conv, more RAM, etc... Came across uCApps/MIOS and now I'm keen to use MIOS and PIC18F452 to do the job. (Also really like the SID project so I'm building one of them too). The controller is a fretboard design, like a bass guitar. Instead of strings there are touch switches (copper wire) between where the frets would go. There are also plucking/strumming sensors which are an infrared LED/photodiode pair - you break the beam with a finger. One "mode" just maps presses on the touch sensors to note on events directly - ie. just a keyboard-like interaction. The other mode is guitar-like - ie. you need to strum/pluck to get the note, and while a strum/pluck sensor is down, fret changes trigger notes played legato (with optional portamento) or even retrigger currently held down frets higher up the string, etc. So the reason why I wouldn't want to do it in a USER_DIN_NotifyToggle handler is because I need to take into account the entire state of all the registers (ie. calculating the "highest" touched fret, comparing to "highest" touched fret last time, calculating velocity from time of partial to full blocking of IR beam, etc.) It's a bit more complex than "button A AND B" - I was just trying to simplify it to give an example... Thanks again for your help... I should be able to utilize the SR_DIN_CHANGED array to do all I want. Regards, Wilba
  5. can't get free samples to Australia, via the on-line form at least... I've answered my own question - the RAM layout is slightly different so although in theory you could get MIOS running on a 458 (by changing the source), the binary probably won't work. Should have just ordered 452's in the first place... my mistake.
  6. Hi, This is directed to Thorsten, but anyone else could help me if they want! I'm a total newbie to MIOS, but I'm a software engineer so I can appreciate how great it is. TK you're a legend! However, what I'm currently stuck on is the lack of documentation regarding when MIOS ISRs get called and what you can and can't do in them. What I want to do is not use USER_DIN_NotifyToggle but rather do my own handler of edge transitions in the DIN shift registers. I am ASSUMING I can just handle USER_SR_Service_Finish and then call MIOS_DIN_SRGet to get the FSR to point to the start of the "array" containing the captured state of the DIN module's input pins. Then in this handler I can compare to a cache (in my app's memory) and do whatever MIDI I/O I want then - by iterating FSR1, I can compare the before/after state of the captured DIN input pins. ie. I want more than a toggle handler... I want to do things like "if this switch is currently closed AND another switch becomes closed, then send this MIDI event" etc. I just want confirmation that (a) USER_SR_Service_Finish gets called between updates of the DIN state in RAM, and (b) I can iterate FSR1 to iterate over that DIN state in RAM (I don't need to call MIOS_DIN_SRGet to access each register, right?) ALSO, what's the mapping between DIN module pins and the bit positions in registers returned by MIOS_DIN_SRGet? Apologies if this was already answered on the forum or in a MIOS example... Thanks, Wilba
  7. Thanks all for the other supplier sources... I was actually hoping someone else had tried using the 458 before and would tell me it should work... I guess I'll just try it and see what happens! The reason I got the PIC18F458 from Futurlec was cos it was US$9.90 and only US$3 postage to Australia, Canada, EU, UK, USA. That's better than I've seen anywhere else. They list the PIC18F452 (US$8.90) but it's currently not in stock. Futurlec were REALLY fast in getting the order to me (package was shipped from Thailand, actually)... and they have cheap LCD modules too and a very cheap PCB manufacturing service (although you need Protel files). Next time I'll just wait till they get 452's in stock and order them instead. http://www.futurlec.com
  8. Hi, I couldn't find any PIC18Fxxx suppliers in Australia so I ordered a PIC18F458 from Futurlec (they didn't have PIC18F452 chips in stock) and the datasheets are practically identical. The only differences I can see are a CAN module and "enhanced" CCP module (ie. extra features on the PIC18F458 ). Anyway, this was before I was convinced I should not try to reinvent the wheel and go 100% with MIOS. Now if I had the source to MIOS, I could just open it up in MPLAB and validate that it will work on the PIC18F458 (ie. recompile with different inc file if need be). But since I can't do that, I'll have to just plug it in and see what happens, but then if it doesn't work, I won't know if it's my board, or my programmer not working, or the fact that I'm using a different PIC. Hmm... Any comments/suggestions welcome. Wilba
×
×
  • Create New...