-
Posts
828 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by philetaylor
-
[solved// MSYS version prob] compilation & 64bit OS
philetaylor replied to protofuse's topic in MIOS programming (C)
I would certainly try it... I take it you are installing MSYS-1.0.11 and not 1.0.10??? Phil -
[solved// MSYS version prob] compilation & 64bit OS
philetaylor replied to protofuse's topic in MIOS programming (C)
Ah that explains it, I didn't install MSYS, I just copied it from another PC! Phil -
[solved// MSYS version prob] compilation & 64bit OS
philetaylor replied to protofuse's topic in MIOS programming (C)
I have both the 8 and 32 bit MIOS toolchains installed on Windows 7 x64, both work fine.... What exactly isn't working??? Thanks Phil -
Yes absolutely, something like: void mytask(void) { while (1) { if (xSemaphoreTakeRecursive(xLCDSemaphore, (portTickType)1) == pdTRUE ) { // Do semaphore task xSemaphoreGiveRecursive(xLCDSemaphore); // Give semaphore back } else { // Do something else until it is free.... } } } EDIT: pesky tab key!
-
Hi. Semaphores and Mutexes are designed for controlling access to resources between tasks (threads). Semaphores and mutexes are quite similar but contain some subtle differences, I would recommend reading some FreeRTOS documentation for more on this. For MIOS32 there is an example of using a mutex that TK has created in SVN http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F023_mutex%2F&rev=0&sc=0 The basic concept is that a task can "take" a Mutex which can relate (for example) to a device, this can then be used to restrict other tasks from accessing that device until the original task releases it. The mutex example above restricts access to the LCD display to make sure that only one task can access the display at any one time. I once read a good description of mutexes, if you think of it as a toilet key and only one person can have it. Once they have finished they pass the key to the next person in the queue :) Phil
-
Yes happy (belated) birthday TK, 1972 was definately a very good year :) Phil
-
No problem I should also point out that you are best to remove the regulator (7805) if you are powering from 5V via J2 as putting 5V on the output of the 7805 probably wouldn't do it much good! Phil
-
Hi. My first guess is that you didn't read the bit in http://www.ucapps.de/mbhp_core.html where it says that J1 should be connected to A 7-10V AC Transformer (DC can also be used, I usually use a 9V DC supply). The reason for this is that the core has its own 5V regulator and full-wave bridge rectifier, a voltage drop of 2.5V over these is quite likely! This would explain why you are only seeing 2.5V :) Phil EDIT: If you are sure that your supply is 5V, you could connect it to J2 instead which bypasses the Rectifier/Regulator. EDIT2: The CORE module doesn't have a 7809, it should be a 7805!
-
Hi. The BA662A is pretty rare nowadays... You may be better off using the (almost) identical BA6110. It is a bit quieter but very similar otherwise. There are loads of BA6110's on ebay. This website has a good description of the differences: http://www.subatomicglue.com/x0xl0g/ba662a-analysis/index.html What it doesn't mention is that two of the pins are swapped so a slight mod would be needed to the board, I can't remember which ones but the datasheets should tell you. Phil
-
windows 7 midi driver and core32 not working again
philetaylor replied to ultra's topic in Testing/Troubleshooting
Right, I downloaded an evaluation of USBTrace for Windows and managed to get the attached. The .zip file contains 2 .html files, one is a successful connection and the other is a failed connection of my CORE32.... I don't have the faintest idea what it is telling me but hopefully you will TK! This has happened to me on all versions of Windows so I don't think it is specific to Windows 7 although it is definately worse than Vista which in turn seemed to be worse than XP! Thanks Phil USBTrace.zip -
windows 7 midi driver and core32 not working again
philetaylor replied to ultra's topic in Testing/Troubleshooting
I am using Windows 7 x64 and I do get "USB Device Not Recognized" fairly often but usually it works after 2 or 3 tries. It is a bit of a pain but I got used to it! I keep planning to try to diagnose this a bit further, I suspect a timing issue but I have no evidence to say that :-) Phil -
read / write .txt files on a SDCard
philetaylor replied to baptistou's topic in MIOS programming (C)
Hi. Everything you need should be in the README.txt file in the /trunk/modules/dosfs directory of the MIOS32 svn tree. It doesn't have "actual" code but it does have step by step instructions for opening/reading/writing files. If you need actual code, then any of the examples that include file access should get you on the way, probably /trunk/apps/tutorials/019_midi_player/ is a good one to start with. Cheers Phil -
I screwed up on the PIC ID Header
philetaylor replied to jackchaos's topic in Testing/Troubleshooting
I suspect that the core is operating in LTC (COM) mode rather than MIDI. That would explain why you are seeing rubbish in MIOSStudio as it operates at a different baud rate to MIDI. (38400 instead of 31250) I have to admit I don't know an ID with 3e8 at the end would do though as I couldn't get SmashTV's PIC calculator to come up with that ID :rolleyes: Unless you have an MB_LTC module (or a PIC burner) you are going to struggle to talk to this PIC and you won't be able to change the PIC ID until you can. I would suggest that you find somebody with a PIC burner who can reburn the PIC with an all zeros ID! Thanks Phil -
Don't worry about it Jeffry. You have done a massive amount of work to make this forum great I think we can allow you this one. I have done similar things in the past (in fact MUCH MUCH worse), I know that sinking feeling you get in the pit of your stomach when you realise your mistake only too well. In the early 90's I deleted the live orders file for the countries largest wine and spirits wholesaler instead of the order archive, we lost a whole days orders and all orders had to be taken manually for about 2 days while it was rebuilt. For some reason they didn't renew my contract, I never knew why....... Cheers Phil
-
Hi. You need to be given permission to upload files, If you want to email it to me then I can upload it for you. Otherwise you could just attach it to a forum post and link to that :) Phil
-
Hi. I thought I would let you know of a funny problem that I had yesterday and hopefully save somebody else the hour or so of hair pulling I had yesterday :) I am working on a new display for one of my MIDIbox projects and once I had built the board, I connected it to my CORE32 and 'weirdly' the CORE32 wouldn't boot. When I started MIOSStudio, I noticed that the core was in Bootloader mode (the bootloader jumper was definately open!!!). When I disconnected the display board it booted fine..... After a lot of checking and re-checking I looked at the circuit diagram for the CORE32 and noticed that the RW pin of the LCD connector (J15) is shared with the bootloader jumper and sure enough, a quick check of my LCD board with a magnifying glass, I found a tiny solder bridge between RW and Ground. This made the STM32 think that the bootloader jumper was closed so it didn't boot, removed this bridge and it booted fine! Hopefully this may help somebody else in the future :) Phil
-
Personally I have a "helping hands" and I hardly ever use it, I find that I am continuously removing the board to check things and that slows the whole process down (for me). You will notice that most assembly guides start with the thinnest components (resistors, diodes etc) and finish with large capacitors and sockets etc. One reason for this is if you install the components and then place the board upside down on a flat surface they will not fall out while soldering! Some people also 'splay' the leads slightly so that they hold themselves in the board, I try not to do this as the eventual solder joint looks lopsided :) There has been some really good advice on this thread, the only thing I would add is a good pair of small side-cutters. They make cutting the soldered leads much easier and I find that ones that are too large tend to bend the leads before cutting them and it looks a bit untidy. Cheers Phil
-
Yes absolutely they are :) This issue is that to display anything other than text and simple symbols will usually need a video buffer which isn't really practical with larger screen sizes. If you then add colour into the equation as well you will soon run out of memory, that's why MIOS uses pre-defined 'fonts' for any graphics/icons etc as these are static and are stored in flash. This is something I am doing quite a bit of work on but only with quite small (128x64) GLCD's. My "MIOS Invaders" program is an example of what can be achieved using these 'fonts' and is discussed here: http://www.midibox.org/forum/index.php/topic,13072.0.html Phil p.s. I looked at MIDIbox TV and it looks like a fun project but I don't think it is really practical for creating a GUI (for some of the same reasons as above)
-
I have done a fair bit with graphical displays but nothing bigger than 128x64 b&w (160x104 with 4 grey scales coming soon!) Personally I think you will struggle with memory as for a VGA (640x480 ) screen with 8bit colour you will require about 300KB of RAM to store a whole screen image (the current STM32 has 64KB of RAM) One option that I have been looking at is something like this from EA: http://www.lcd-module.com/produkte/ediptft.html This is a 4.3" TFT colour display with a resolution of 480x272. The benefit with this is that unlike standard displays, you needn't manipulate it at pixel level, it includes a controller that allows you to issue simple drawing commands for shapes etc and numerous built-in fonts. There are 2 main problems though, firstly there is not currently any support for this type of display in MIOS, I have thought about adding it but haven't mainly due to the second reason, they are VERY expensive :( Phil
-
With the pots or encoders question, the answer is 'it depends'! For a mixer controller, most of the time pots (or faders) are generally better as they provide an absolute position whereas encoders are 'endless' the FAQ has a good description of the differences. You may find that a combination of the two is actually what you want! http://www.midibox.org/dokuwiki/doku.php?id=questions_and_answers Phil
-
I have a gig on 10 okt and i suck (turntables)
philetaylor replied to Twin-X's topic in Miscellaneous
That's absolutely my era and when I was young enough to go to clubs and not be the oldest person there :) Love the mix and I remember the original "Charlie Says" advert! "would I like to see some puppies" for some strange reason still makes me laugh! Phil -
Hi. The CORE32 is still pretty new, so far only MIDIboxSEQ V4 has been released (now at beta2) and tk has also now ported MIDIbox LC. It is a mammoth task to port each MIDIbox app to the new architecture and tk is only one man (although sometimes I wonder when I see just how much he achieves ;) ) I'm sure he will get round to porting each app as time allows but as everything is written in quite clear C code, why not have a go yourself? There are lots of samples/examples on svn... Cheers Phil
-
No problem, Don't forget though that none of the MIOS8 apps SID/IO/LC etc have been ported to MIOS32 yet! It is a pretty big undertaking and tk has been concentrating his efforts (quite rightly IMHO) on the Sequencer. Having said that, there is a simple example called SRIO which does the following: This could be (fairly) easily adapted for simple MIDIfication and being C based any mods are much easier than the CORE8 ASM based code.... Thanks Phil EDIT: Having just done a SVN Update I see that yet again tk proves me wrong and releases a (draft) Core32 version of Midibox LC!!!
-
The default is 16 shift registers (4 x DINX4's) this is controlled by MIOS32_SRIO_NUM_SR and looking at the source to the rgb_led_controller example app, it will support 32 SR's (8 x DINX4's). I don't know how many tk has tried it with but it looks like 7 or 8 is fine and only requires a change to mios32_config.h You will of course need to write your own app first :) Cheers Phil