Jump to content

audiocommander

Frequent Writer
  • Posts

    1,358
  • Joined

  • Last visited

Everything posted by audiocommander

  1. Jaicen, are you accessing the forum via bookmark? what if you go to the forum via http://www.midibox.org ? Can you check these two links: http://forum.midibox.org http://www.midibox.org/forum/
  2. Hi, these special parts aren't yet defined in ACSim, I concentrated on the basic MIOS functions, but you can add them manually; there are already some PORTCbits and PORTDbits, so you'll know where to paste it: please add this to ACSim_mios.h: // "pic18f452.h" typedefs typedef union { struct { unsigned PCFG0:1; unsigned PCFG1:1; unsigned PCFG2:1; unsigned PCFG3:1; unsigned :1; unsigned :1; unsigned ADCS2:1; unsigned ADFM:1; }; } __ADCON1bits_t; typedef union { struct { unsigned TRISA0:1; unsigned TRISA1:1; unsigned TRISA2:1; unsigned TRISA3:1; unsigned TRISA4:1; unsigned TRISA5:1; unsigned TRISA6:1; unsigned :1; }; } __TRISAbits_t; typedef union { struct { unsigned RA0:1; unsigned RA1:1; unsigned RA2:1; unsigned RA3:1; unsigned RA4:1; unsigned RA5:1; unsigned RA6:1; unsigned :1; }; struct { unsigned AN0:1; unsigned AN1:1; unsigned AN2:1; unsigned AN3:1; unsigned :1; unsigned AN4:1; unsigned OSC2:1; unsigned :1; }; struct { unsigned :1; unsigned :1; unsigned VREFM:1; unsigned VREFP:1; unsigned T0CKI:1; unsigned SS:1; unsigned CLK0:1; unsigned :1; }; struct { unsigned :1; unsigned :1; unsigned :1; unsigned :1; unsigned :1; unsigned LVDIN:1; unsigned :1; unsigned :1; }; } __PORTAbits_t; and this to ACSim_mios.c: // "pic18f452.h" __ADCON1bits_t ADCON1bits; __TRISAbits_t TRISAbits; __PORTAbits_t PORTAbits; basically, the typedefs are just copied from pic18f452.h and pasted to ACSim_mios.h. And a variable in ACSim_mios.c is instantiated. I know this is probably a bit messy, but all this pic18fxxx.h/.c stuff needs a clean up anyway, so in order to get it running... :-\ Best, Michael
  3. Hi ilmenator, as I'm on the mac, I have little to less knowledge about mingw32 and CodeBlocks, but it seems there's something wrong about the Linking process, so maybe it's about #includes and #imports? Because you haven't mentioned it, I assume you also followed the short ACSim setup instructions? If you have followed these instructions: can you upload your files somewhere or mail them to me, so I can have a quick look at it? This may be easier than guessing around awhile :) Best, Michael ps: It may be normal that your own project does not compile, because most of - but not all MIOS functions are yet implemented. However, this is only about copying a line or two and I can help you implement what's missing.
  4. Hello number-crunching friends! I'm also trying to figure that out for a patch editor written in C; however, I am not sure about the length of the returned sysEx header and would appreciate some clarification. I get these (hex-) values when I request the first bankstick's content: [tt]f0 00 00 7e 40 00 02 40 00 01 00 02 12 6a 32 69[/tt] from the syx2asm.pl I see the header is: [tt]f0 00 00 7e 40[/tt] from the doku I guess the next numbers are: [tt]00 [/tt] the device ID [tt]02 [/tt] "WRITE_CMD" [tt]40 [/tt] means it's a BS memory, incrementing later on (0x41, 0x42...) [tt]00 01[/tt] address high and low byte [tt]00 02[/tt] counter high and low byte? Then my data would start with [tt]12[/tt], is this right? I'm a bit confused about the counter low byte which is [tt]7f[/tt] later on... I hope this question is not too silly, but my eyes start to flicker of the endless rows of numbers I looked at this evening Best, Michael
  5. eh... what about french: "un ver vert dans une verre verte vers minuit" (a green worm in a green glass around midnight) ...and surely something is spelled wrong 'cause I am not french ;D I come from Bavaria, wo die Has'n Hos'n und die Hos'n Hus'n hasn hehe.. cheers, Michael
  6. OMG I really shouldn't have googled for pictures on LATA
  7. Hi there, I'm on the Mac(10.5.2)/Safari as well and had some issues being logged out some while ago (with 10.4.11), but I have the impression it got better; at least my login now lasts for a day. Using the auto-fill feature, it's not really a problem for me. I think I have noticed some interferences with the wiki (have to log in to the forum again after editing sth in the wiki). Also, there can be session issues with subdomain addresses (;)), so when you have a cookie for forum.midibox.org it might possibly interfere with www.midibox.org/forum/ I know this is not a client issue, but it may help to track this down. However, clearing cookies seems a good point to start. About the unread topics: this is AFAIK an issue of SMF, I have never seen more than 3 pages unread topics. So it might be quite normal to loose some posts when you haven't been here for some days. There's also the most recent posts function to keep an overview of the latest posts (I know, not the same, but at least an alternative) ;) Best, Michael
  8. Hi Fab, Just tested this and I just had to increase the MIN value after auto-calibration to eliminate some jittering noise on the lower end. I am having quite good results with these values (with LED on the qt circuit and enabled Release Detect (RLD): - Q (Quantize to NoteLength): 32. - MIN (Sense-Min): 23 | MAX (Sense-Max): 245 - F (Sense-Factor): 6 | SLW (Signal Slowdown): 0 - FRM (Scale From): 0 | TO (Scale To): 127 With these settings it's not processing any signals when idle, else from 0 to ~120 max If this doesn't help you immediately, maybe these general hints will help to stabilize the signal: - Make sure your QT301 is properly calibrated (Pins 7&8, see IC datasheet) - Watch the cabling of the QT301 and see if your presence affects the sensorized values besides the desired approximation. You need to take special care of the wire to the touch-plate and of course the plate itself (QT pin 3)! Keep this cable short as possible, mind other cables & do not cross here, esp. try to get some distance between and/or use shielded cables. This cable works kind of like an antenna, so try to minimize this effect. There are also some hints in the datasheet about this. - Just tested it with and without LED, works fine both ways - ACSensorizer calibration (see Wiki Page, Step 13: automatic mode, maybe some manual finetuning later) - Slowly increase the slowdown factor (SLW) (but keep it low to prevent too large gaps in the signal) - Reduce "Q." to a lower note level, eg. for 8th or quarter notes - Make sure unused AIN-pins are either clamped to ground or switched OFF, open pins will otherwise interfere - Use the latest firmware (> 0.4.4. is okay, there has been a auto-calibration bug in < 0.4.3) So, I hope this helps ;) Best, Michael Edit: forgot to mention, that you should re-calibrate the qt301 after you hooked it up on the Sensorizer. This also improves the signal quality!
  9. This would be excellent! I'm away and/or busy the next two weeks, but after that I'd like to help you! If it comes in that handy I imagine atm (expandable, tab-able ASM/C information) => :D :D :D Cheers, Michael
  10. hehe... ;D although I'm amused, I have to shelter stryd: it's indeed even easier than setting up a timer (eg, I am never sure about this cryptic StartTimer(time) value :-X ); you just have to know three things! 1. the MIDI clock signal is sent 96 times per whole note (aka 48 per half, 24 per quarter and so on...) 2. the MIDI protocol number for the clock signal: 11111000 = 0xF8 = 248 = Timing clock 3. to get this one-byte MIDI message (or signal), you have to catch it on MPROC_NotifyReceivedByte(unsigned char byte) and not at the usual MPROC_NotifyReceivedEvnt(), where the three byte msg are landing In other words, every time you receive the value "248" in MPROC_NotifyReceivedByte, you have a Tick. When you have counted 96 ticks, you have a whole Note! tadaa. Easy as that. Of course, when you counted 48, it's half a note and when you wanna blink something, it might be useful to count to a quarter note (24), so it's on for a quarter and off for another one: eg: - receive tick - increment counter - if counter >= 24 switch LED - reset counter You really need just this info and one counter variable that keeps track of where you are. Of course this will work only if you receive a MIDI-clock ::) Best, Michael
  11. jipee :D have you also tested bitfields > 15 entries? Best, Michael
  12. ...and in completion to stryd's wise words, here are the relevant functions: Best, Michael
  13. Hi, not sure, afaics it should work. I expect you have wired everything correctly and core2 is able to send anything at all on the MIDI-Out? And as you're sending a Note-On on Ch2 (!) with a Velocity of "1" (remember: "0" is muted and "127" is loudest), I expect you debug the incoming messages with a logging program and not by hearing, 'cause you most likely cannot hear the message you're sending... If the answer to all this is "yes, of course!": Sorry, I never worked with linked Cores so far, so I'm not an expert on debugging these issues... anyone else got an idea, maybe? Best, Michael
  14. In April 2007 1€ was about 1.30 US$, now it's 1.48 €, maybe it's got sth to do with that :-\ So aside from possible benefits for private over commercial mail to serbia or some islands with high taxes, I really think it's easier (and cheaper) if everyone orders directly at speechchips.com - at least as long as you don't get a special discount or have some homemade SpeakJet-PCBs to add or so... Nevertheless, really do appreciate your effort ;) Best, Michael
  15. I'm sorry, don't want to spoil anything and appreciate the effort of setting up bulk orders - and most probably I missed something in this topic that would explain - the Magnevation SpeakJet is available from http://www.speechchips.com for 24,99$ + 3$ shipping* if one orders directly there. I ordered three times, it's been fast and relyable; you can pay by Credit Card, Paypal. They also offer some other chips that might be of interest, such as the TTL (Text-To-Language, basically just a word-to-phoneme-lookup dictionary) companion chip or the SoundGin. I don't know about Serbia but I really doubt, it's going to be cheaper and/or more securely to ship the items from the US to the EU and then to Australia. Best, Michael _____ Edit: I payed 28 US$ total (incl. shipping) when I ordered one SpeakJet in April 2007. Delivery was about one week IIRC.
  16. Hi David, generally spoken, this is a nice, clean (clearly named) and effective method to set some values; very small in size - and by making a union out of the structure, these states can easily be accessed as an unsigned int, which makes conversions unnecessary (eg when reading or writing a patch - or setting all bits at once!). The disadvantage is, that SDCC currently only allowes bitfields of 8 bits maximum, which might make things complicated (at least it has been for SDCC 2.4.x, dunno about 2.7.x). Another disadvantage can be the way to access the bits. For example, you need to loop through all values in the struct, one by one. This way you either have to work on the bits with bitmasks or you need to address all struct names seperately which is not possible with a counter. I guess, a (boolean) array should be nearly as effective as a bitfield. Its maximum is 255 bytes (? can't remember exactly, nevertheless this is big). Access is easy, but not that straightforward if you want to load/save the whole array. So, it clearly depends ;D Best, Michael ps: thanks, julien :D
  17. so, for the record, the right comment would be: :) cheers, Michael
  18. you can ignore the Xcode internal [tt]sentenv[/tt] stuff, but bugfight is of course right about the "pin" variable.
  19. okay, got the point :) besides the fact you changed your original posting from the wrong SR_Set(1) to the now correct SR_Set(4) - :P the page sais that a maximum of 16 SRs can be chained and the example is showing how to connect 128 LEDs; so the statement is right, just the comment is not clear, because you need four DOUTx4 modules to connect 128 LEDs. Cheers, Michael
  20. No ;) That means one DOUTx4 module has 4 ShiftRegisters: 128 Pins / 16 SRs = 8 DOUT pins per SR So if you intend to use 32 DOUTs (= all pins of one DOUTx4 board)' date=' you need to call: 32 Pins / 8 pin-per-SR = 4 SRs => [tt']MIOS_SRIO_NumberSet(4)[/tt] Regards, Michael
  21. Hi Simone, first question: have you set up the targets like described here: http://www.midibox.org/dokuwiki/how_to_use_xcode2_as_ide_on_a_mac#about_targets_and_makefiles 1. Target "Makefile" 2. Target "MyProject" second question: do the perl scripts in the "/skeleton/tools" directory have the right permissions? Means, they have to be allowed "executable". You can either do this by calling [tt]chmod[/tt] in the terminal or (easier) with the FTP-client of your choice (every FTP client has some infopanel where file-rights can be set easily) Best, Michael
  22. wooho! it works again! Thanks a lot for all your hard admin work the last days!!! Best, Michael
  23. thanks, Twinny :-* Maybe it's no big thing and there's just the cache-dir not writeable? However, don't stress yourself; no need to get in a hurry ;-) Best, Michael
  24. Hi Admins, I just noticed I'm logged in at the Wiki -> "Logged in as: audiocommander" and see the button "Logout", but I am not allowed to edit anything. There's also an error message at the top of the page: Is this just me or anyone else, too? Cheers, Michael
×
×
  • Create New...