stryd_one
Frequent Writer-
Posts
8,840 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by stryd_one
-
Wilba knows stuff. I hadn't read his link yet (I was posting from work in lunch break heh) but yeh. I had been eyeballing one of these type of machines... only reason I didn't go that way yet was that work are supplying me w/ a laptop and I have a fast desktop now. 1GB of ram is what this laptop runs, and it handles all that stuff just fine. Just avoid anything with Via chips if you want to do audio. As for ubuntu, is it an nvidia or ati card by any chance? There's an easy way around the driver woes (caused by closed-source drivers) with those... Still, I understand why some dudes would rather stay on the pseudo-standard of windows.
-
Yep, cheap hardware+vista=bad idea. That said, you can probably re-use the old OEM license sticker on your existing box, to reinstall XP on the faster dell... Or, like, go linux.... For programming and board design, chances are, linux is your best bet... It'll only cost you a day or so to try it anyway ;)
-
Ahh yes, I have a TV tuner card that always draws full power from the moment you turn it on. If you have other stuff plugged into the hub (mouse and keyboard) the bus promptly craps itself, and the tuner doesn't work. I have to pull the thing out before I power on the PC, let it boot, then plug it in. Then there's the WLAN 'dongle' that does the same, and is connected to an old p2 celeron with USB1... Actually draws enough power that the motherboard craps out and doesn't POST. Power cycling *quickly* kills off the buss and it boots the 2nd time... Which goes to prove our points, I think... the spec is nice and all, but in the real world we have dodgy devices made in developing countries and programmed by the lowest paid employees possible....
-
Knowing you and your cooking finesse, I'm surprised that you could resist turning it into a soup!
-
Hey it's your box, you decide! If you use the J5IO module, and write the app correctly, you can easily expand it later by simply adding DOUTx4 modules and jacks, setting the number of gates in your makefile, and typing 'make'. I'd probably make the keyrange assignable too.
-
I'm surprised they leave a tool for migrating to the free competition on their site in the first place! So, leaving t there and broken, might convince people not to migrate. But ... it worked for me...? If you need to use kicad (want big boards, have not a spare 4 figure sum of cash) find my post with my bookmarks, and also visit the chat.
-
Welcome aboard dada! First off I should ask you to Please Read Before Posting New Topics: What is a "User Project"? ;) Anyway, yes! Both of these projects are very simple and can be done with a very small effort. The core will probably have enough power left over to bake you a cake while you make a tune ;) Do you have any experience with programming in C? Fortunately, even if you have to learn C, the things you want to do are quite basic so the learning curve will be nice and shallow. I'd recommend checking out the C examples, so that you can see how the encoders, buttons, and MIDI IO are handled. Also, the function reference will be handy. Is there anything in particular leaving you puzzled at this point? Good luck!
-
Step by step programing core v3 on18F452
stryd_one replied to insectteam's topic in Testing/Troubleshooting
Hi insectteam, welcome aboard! Well, I'll start with the first few steps, and you'll probably find the remaining steps by following these: 1) Read all of ucapps.de 2) Read all of wiki.midibox.org 3) Use the search engines on this forum and the wiki, to find answers to any remaining questions you have 4) Repeat all of the above 5) Post here with questions about any missing information. Include quotes from pages and things you've learned, so it is obvious that you have done your homework ;) 6) Have fun! Remeber that midibox is DIY, but we are always here to help, if you try to DIY and get stuck :) Oh, you mentioned your English (it's better than mine!)... What is your native language? Did you see the international forums? There may be some help in your native tongue too, which I'm sure would be nice for you! -
Well no... Re: errata GM5 The hub should only supply 100mA, until the device requests high power mode, and then it should supply an extra 100mA per unit up to 500mA. Somehow, I have the feeling that most of them would be cheap, and just deliver whatever the device draws, up to and beyand 500mA, and promptly emit magic blue smoke. Edit: Oh in answer to the question, I don't know... ask ploytec?
-
4x16 (8x8) Button/Duo-LED programming example
stryd_one replied to TK.'s topic in MIOS programming (C)
Test bit 0? (Sorry, I didn't read the whole thread...) -
Yeh, I think that if you have a bit of cash to spare, eagle is a pretty clear winner. Because the "Pro" (aka "uncrippled") version is not crippled, but the free version is.
-
MIOS_Bankstick_WritePage in a loop; need to wait?
stryd_one replied to This N°9's topic in MIOS programming (C)
Yeh, I think the only part of the manual that really applies here, is the part where they say something about chars not being promoted to int for arithmetic (as they usually are). I think it's in the compliance section? Still haven't upgraded to 2.8? You should. I'm sure I told you about this last time ;) Memory is saved and restored in ISR's anyway, but it's called from a flag. Optimizer bug. Well, putting it in parentheses should do the same thing, that's why it's weird. So, more and more, it's looking like an SDCC bug, So I figure, "I wonder if my latest SDCC build does the same thing?" well guess what I get: error: multiple sections using address 0 Here's the code that produced it: // $Id: main.c 333 2008-05-10 20:49:56Z tk $ /* * MIOS SDCC Wrapper * * ========================================================================== * * Copyright (C) <year> <name> (<email>) * Licensed for personal non-commercial use only. * All other rights reserved. * * ========================================================================== */ ///////////////////////////////////////////////////////////////////////////// // Include files ///////////////////////////////////////////////////////////////////////////// #include <cmios.h> #include <pic18fregs.h> unsigned char testval; unsigned char current_preset[64] = {8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8}; void preset_storeb(unsigned char num) __wparam{ unsigned int addr = num; addr <<= 6; MIOS_BANKSTICK_WritePage(addr, current_preset); } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS after startup to initialize the // application ///////////////////////////////////////////////////////////////////////////// void Init(void) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS in the mainloop when nothing else is to do ///////////////////////////////////////////////////////////////////////////// void Tick(void) __wparam { preset_storeb(testval); } ///////////////////////////////////////////////////////////////////////////// // This function is periodically called by MIOS. The frequency has to be // initialized with MIOS_Timer_Set ///////////////////////////////////////////////////////////////////////////// void Timer(void) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when the display content should be // initialized. Thats the case during startup and after a temporary message // has been printed on the screen ///////////////////////////////////////////////////////////////////////////// void DISPLAY_Init(void) __wparam { MIOS_LCD_Clear(); MIOS_LCD_CursorSet(0x00); MIOS_LCD_PrintCString("Hello World!"); } ///////////////////////////////////////////////////////////////////////////// // This function is called in the mainloop when no temporary message is shown // on screen. Print the realtime messages here ///////////////////////////////////////////////////////////////////////////// void DISPLAY_Tick(void) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a complete MIDI event has been received ///////////////////////////////////////////////////////////////////////////// void MPROC_NotifyReceivedEvnt(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { testval = evnt0; } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a MIDI event has been received // which has been specified in the MIOS_MPROC_EVENT_TABLE ///////////////////////////////////////////////////////////////////////////// void MPROC_NotifyFoundEvent(unsigned entry, unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a MIDI event has not been completly // received within 2 seconds ///////////////////////////////////////////////////////////////////////////// void MPROC_NotifyTimeout(void) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a MIDI byte has been received ///////////////////////////////////////////////////////////////////////////// void MPROC_NotifyReceivedByte(unsigned char byte) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS before the shift register are loaded ///////////////////////////////////////////////////////////////////////////// void SR_Service_Prepare(void) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS after the shift register have been loaded ///////////////////////////////////////////////////////////////////////////// void SR_Service_Finish(void) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when an button has been toggled // pin_value is 1 when button released, and 0 when button pressed ///////////////////////////////////////////////////////////////////////////// void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when an encoder has been moved // incrementer is positive when encoder has been turned clockwise, else // it is negative ///////////////////////////////////////////////////////////////////////////// void ENC_NotifyChange(unsigned char encoder, char incrementer) __wparam { } ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a pot has been moved ///////////////////////////////////////////////////////////////////////////// void AIN_NotifyChange(unsigned char pin, unsigned int pin_value) __wparam { } ARGH!!I never saw this error before you joined ;) -
Inkscape and kicad here. My advice: Figure out what are the most capabilities you will require, even in the future, and go with that one. It sucks to change apps when you're already accustomed to something, but it can't do what you want.
-
LOL yeh, you 120V weaklings! Seriously though, this is a great find for midiboxers in the states.
-
That post was incorrect, I mentioned it above.
-
How to enable midi merge - serial I/O in the SM_code
stryd_one replied to anakin's topic in MIDIbox HUIs
If you'd have searched, you'd have found the answer, which told you what you wanted to understand. Please follow the Troubleshoot! link in my post, and Golden Rule of Troubleshooting #8 -
How to enable midi merge - serial I/O in the SM_code
stryd_one replied to anakin's topic in MIDIbox HUIs
The link was a hint. The help was to tell you to search, which you obviously haven't done a whole bunch of ... use the keywords you find in the post I linked, to run more and more searches. This question has been asked and answered in the past, and if you search for a while, you'll find the answer. Keep searching, that part is up to you. I'll give you another hint: you're barking up the wrong tree. Firstly, mios.h is part of mios, you don't change that. Those things you saw are used to simplify your coding and shouldn't be changed. If you were using an up-to-date version of the software, you wouldn't even see that file. Secondly, mb-link support is not built into the example apps, they pretty much just run the matrix, so it's not a matter of changing a variable to enable it (like it is in the MB64), you need to add code (see the function reference). I can't help but wonder... why are you not using the C version? It will be much easier to add the code you need in C if you are familiar with it. -
What kind of switches do I need? Please edit as req'd
-
GM5: Least-cost USB-MIDI Interface Chip for 4.50 EUR
stryd_one replied to TK.'s topic in Bulk Orders
Ooookay how did I miss that?! Reply coming soon. -
MIOS_Bankstick_WritePage in a loop; need to wait?
stryd_one replied to This N°9's topic in MIOS programming (C)
I bet it did! SDCC is *really* picky about parentheses... Can you try these? I've commented my changes. However... it behaving differently when called from the tick or notify functions, is really strange... And really, they all should work. What version of SDCC are you using? Can you do 'sdcc -v' and paste the output? It kinda seems like an SDCC bug... void preset_store(unsigned char num) __wparam{ unsigned int addr = (((unsigned int)num) << 6); // parentheses added here //unsigned int addr = num*64; MIOS_LCD_Clear(); MIOS_LCD_CursorSet(0); MIOS_LCD_PrintBCD2(num); MIOS_LCD_PrintCString(" - "); MIOS_LCD_PrintBCD5(addr); MIOS_BANKSTICK_WritePage(addr, current_preset); } void preset_store(unsigned char num) __wparam{ unsigned int addr = ((unsigned char)num); // Typecast added here //addr <<= 6; MIOS_BANKSTICK_WritePage((addr << 6), current_preset); // parentheses here } Edit: I'd love to see the output asm if you still have it handy! (yes, I can make it myself, but i'm busy :( ) -
True. Try testing the mains power on your tongue, or kissing soldering irons, for super fun good times. Kids: These toys may cause harm or death. Please test them on your parents before use.
-
How to enable midi merge - serial I/O in the SM_code
stryd_one replied to anakin's topic in MIDIbox HUIs
I felt a great disturbance in the force, like the sound of stryd one staring at a million newbies (Yes, sound of staring. I shoot laser beams out of my eyes when I do that. Laser beams buzz in this movie.) Use the search, Anikin. ;) http://www.midibox.org/forum/index.php/topic,10203.msg76753.html#msg76753 -
Man, this is wiki FAQ fodder big time. Some old musings by me on this... Oh, and of course, momentary ain't momentary... damned confusing for something so simple!
-
Rasteri's scratch wheel is not supported with the MB64 firmware, but you can connect more than one scratch wheel to one core. Again that will require software modification. tj, I think you may need to do some more research before you take on a task like this. You'll need to be familiar with either C or ASM programming, or to change your plan to a less complex solution. In your case, as a short term solution in lieu of learning a new programming language, I would recommend that you build the traktorizer, as designed. MTE has made the controllers with the LCD, and then removed them, and decided that they were well suited to being made without LCD. I don't know why he has made this decision, but I do know that he has put a great deal of work into building his traktor controllers, and has taken every consideration into account. I have been there for extensive periods of testing and experimentation and I can assure you that it would blow your mind! What I'm trying to say is this: I think you need to spend some time learning, and until then, trust MTE's design. He knows his stuff, big time ;)
-
Better still, turn the mains off when you're anywhere near it ;)