Jump to content

kpete

Members
  • Posts

    191
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by kpete

  1. I know I spoke to soon. You did give the project information. I haven't updated my trunk directory for a few months. I did go to the repository and viewed the Makefile with the html display function. On the top 2 rows of revision 1424 of the Makefile it shows a message that I copied and is shown below. Warning: array_key_exists() [function.array-key-exists]: The first argument should be either a string or an integer in /home/midibox/public_html/websvn/include/svnlook.php on line 643 I don't know where this message came from but maybe this is part of the problem. I'm fairly sure it doesn't belong in the Makefile. Pete
  2. Hi Robin, I don't know if I can help you but you will have to give the group more information. Things like the path that the missing makefile is located and what project you are trying to build. There are many makefiles in the system, most found in the apps/controllers directories. It is these makefiles that include separate .mk files in other directories that contain the file dependency information for the specific functions. Pete
  3. The readings that I observe you seeing are normal. If there is a short then you would be reading valves like .5 ohms or lower. When you measure across the capacitor of the power supply, your meter will measure it as an electrical short for a very short time. As the voltage being supplied by the meter charges the capacitor in the circuit, the ohms reading on the meter will increase until the capacitor is charged and no more current flows thru that capacitor. Before I apply power to any of my projects, I check for shorts with the ohm meter like you are doing, then I visually check that I haven't soldered the electrolytic capacitors in backwards. It never hurts to double check this. Pete
  4. After loading the MPLAB X software on my Windows 8 PC, there is a new item called MPLAB IPE (Integrated Programming Environment v1.90) on the desktop. I clicked on the application and the programming panel popped up. I then connected the PICkit3 unit to the PC USB port and it went through a down load procedure that loaded a new version of software for my PICkit3. There is a field for entering in the .hex file name and 5 buttons labeled: Program, Erase, Read, Verify, and Blank Check. I haven't tried it since the hardware that I used is in an organ console that is locked up in a home. Here is a link to a YouTube video of the utility panels. Pete
  5. Since no one has responded to this, I thought I would at least add my thoughts. You can use this keypad without diodes but there will be some problems if you push 2 or more buttons at the same time. True this isn't a normal use of the keypad but finger checks do happen. To protect against having 2 of the CMOS output ports shorted together when 2 or more keys are push simultaneously, I would just put a 220 ohm resistor in series with each of the output lines going to the 74hc595 chip. This will protect the hardware. Pete Knobloch
  6. When you buy the PICKIT3 unit, it comes with a disk that contains a version of MPLAB that supports the programmer. Any of the newer MPLAB X versions available from Microchip Technologies support the programmer. I have used the older IDE version and it was easy to find the tool. I just loaded the X version and can't find the programmer option but it is listed in the help panels. http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads Only problem with PICkit3 is that you have to make your own cable to go to the PIC chip. Pete Knobloch
  7. I have been using the 331 flux based solder for some time now. It works great. But don't use it on insulated wires. The flux will get pulled under the rubber insulation where it will be hard to clean and slowly eat away at the wire. If you don't clean it off completely, you will see a white area around the solder joint appear after about 6 months to 1 year of sitting around. I clean the flux off using hot water and a special paint brush with short bristles. I have solder from a batch that was made in 1994 that uses the 331 flux.
  8. I think I can shed some light into some of your questions but the way you have worded your question, it isn't very clear. I should also say that this is the first time I have looked at this merger code and I am not familiar with some of your acronyms.<br /><br />The "TimeOut" message doesn't have anything to do with an acknowledgement at all. Most Midi messages are received in 2 or 3 bytes of data. If a command is sent and the following bytes to complete the command is not received in a timely fashion, some units will display an error to the user. The MidiBox projects I have seen will display something if the command isn't completed properly. In looking at the midimerger_v1_5.zip code, it is NOT running under MIOS. It is a stand alone piece of software that runs on the PIC. This means there isn't any bootloader. It doesn't have a display so the message you are seeing is generated on the receiving device. The "Active Sense" Midi command is used as a keep-alive message telling the receiving device that the Midi cable is still connected. If the receiver stops seeing this AS command after a predefined time, then it is assumed that the cable was removed and any notes still playing should be turned off by the receiving device. From your post it seems like the problem happens when the AS command is being sent thru the merger unit. I looked at the code and it seems to me to process the command correctly. What I was worried about is that the AS command can come in at any time and be imbedded between the data of the Midi command being received. This AS command must not change the running status state or the expected bytes of the command. Everything looks OK in the merger from what I see. Pete
  9. Spirit, If you haven't done this yet, you should set the "Single USB" option. It is described here. This option can only be set while running the Bootloader update code. Use Mios Studio and enter: set single_usb 1 store Hope this fixes your problem.
  10. Yes, a lot of others have seen this problem with Windows OS. I am surprised that nobody provided information about the SINGLE USB PORT solution. With your last post indicating that you use Windows 7, this is defiantly the problem. All my problems went away when setting this option in the MIOS boot loader.
  11. Why don't you try setting all the Dout's to 1 with the command "set dout all 1" and see if it changes things. The outputs might be inverted in your configuration. Pete
  12. Thank you Thorsten, I am sure folly will be happy. I sent in a change to him, and after the 2nd .hex file he is happy. I will make sure that he uses your official change rather than my temporary patch. Pete
  13. You might try changing the code yourself. Here is something that might work for your case. I haven't tested it out on the real hardware. It might not be up to standards per TK but you never know. u32 appLastAinValue[66] = { /* -1 indicates value is sent */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; void APP_AIN_NotifyChange(u32 pin, u32 pin_value) { // -> keyboard if(pin >= 66) KEYBOARD_AIN_NotifyChange(pin, pin_value); else appLastAinValue[pin] = pin_value; // store value to be outputed later. #if 0 MIOS32_MIDI_SendCC(DEFAULT, Chn1, 0x10 + pin, pin_value >> 5); #endif } ////////////////////////////////////////////////////////////////////////////// // This task is called periodically each mS to check for keyboard MIDI events ///////////////////////////////////////////////////////////////////////////// static void TASK_Period_1mS(void *pvParameters) { portTickType xLastExecutionTime; u8 i; u32 AinTimer = 0; // Initialise the xLastExecutionTime variable on task entry xLastExecutionTime = xTaskGetTickCount(); while( 1 ) { vTaskDelayUntil(&xLastExecutionTime, 1 / portTICK_RATE_MS); // skip delay gap if we had to wait for more than 5 ticks to avoid // unnecessary repeats until xLastExecutionTime reached xTaskGetTickCount() again portTickType xCurrentTickCount = xTaskGetTickCount(); if( xLastExecutionTime < (xCurrentTickCount-5) ) xLastExecutionTime = xCurrentTickCount; // -> keyboard handler KEYBOARD_Periodic_1mS(); if(AinTimer++ > 16) // check if its been at least 16ms since last change. { for(i=0; i<66; i++) { if(appLastAinValue[i] == -1) // if value has been sent continue; KEYBOARD_AIN_NotifyChange(i, appLastAinValue[i]); // output last saved value appLastAinValue[i] = -1; // Set -1 indicating value sent. AinTimer = 0; // reset timer so we won't do it again for 16ms. } } // MIDI In/Out monitor // TODO: call from low-prio task MIDI_PORT_Period1mS(); } } Edit:Folly tried this and it didn't work because I had used u8 rather than u32 to save the values. I changed the above software shown above to reflect the change and he indicated it solved his problem.
  14. Hi Folly, I can see where the MidiBox unit is trying to be very efficient and output as many events as it can for a finer granularity between CC events. But when this is done every 1-2ms, it can overwhelm the standard Midi interface. On a Theatre organ that has been retrofitted with Midi, the swell pedal is used to control the volume of the organ and this behavior shown in the "Midibox kb ... txt" file would certainly be an issue. I have heard of people having issues with delays of half a second while playing keys on the keyboard while trying to express a few playing notes by pumping the swell pedal. The best way to fix this problem is to add software that only outputs the changes every 15ms. Skipping CC values isn't always a bad thing.
  15. Its working, its working. Great Roel, As far as using a paper cutter or paper knife as ilmenator is calling it, I think we have different definitions of what is being used. The one that I had problems with you don't even scribe the boards. You just put the board under the large blade and drop the sharp knife blade quickly onto the board, splitting it in two. I read this option somewhere so I tried it. I don't recommend it.. Pete
  16. Hi Roel, This cutting and breaking the board apart makes me a little uneasy. If you don't cut the groove deep enough and try to bend the board so it breaks, there is a chance that it will flex the board in such a way to affect some of the small components on the board. My first one worked OK will a lot of scribing done with a very sharp carpet knife. The next 2 ones were not as successful when using a large paper cuter. The board seems to want to move no matter what I do. The boards are still usable but the blade would cut diagonally into a portion of the holes used for the connectors. I now use a thin band saw to separate the boards. Bad thing here is that the blade totally destroys the holes on the programmer side of the 2 boards when split. Wish they made more room between the cutting line. Maybe the best thing to do is just order another LPC board from Mouser.
  17. I don't know what the flashing Led 2 means but I don't know exactly what you are doing either. What you want is to connect the 2 halves of the boards together using your headers. Nothing else connected. You want all 8 of the pins connected between the 2 boards. Use an ohm meter and make sure that isn't a short between adjacent pins. The LPC should now be electrically connected just as it came from the factory. Plug the LPC into your PC using a USB cable. I would just ignore the LED2 light at this time since it is the TARGET Cpu with some unknown software. You should then start the LPCXpreso application and try to reprogram the MIOS bootloader in the TARGET. If you get an error from the programming application it could indicate that while breaking the 2 halves apart, that you damaged one of the components on the board during the cutting process or maybe one of the runs on the circuit board.was accidentally cut. Here in Phx it is very dry and static electricity is a problem. Just sitting in a chair can cause a buildup and you can draw a good arc when touching your PC for the first time. This could also damage the LPC unit if not handled properly. Pete Knobloch. PS- The only project that needs to be written is your Mios bootloader. I reprogrammed my LPC multiple times so far using the headers and it works fine. I tried it with and without the plastic pin protector on J5 and it doesn't seem to make any difference. I don't know about this flashmagic either but try to find it and do what they suggest.
  18. Can't you just switch the cables between the Din and Dout boards that goes to the keys? Then the diodes will point in the right direction. Only problem might be that the keys won't send the right command. But this can be changed.
  19. Hi, I went and took your new Midio128 v3.016 and installed it on one of my LPC units. Went over to the Windows XP PC and plugged in the USB port. XP recognized the new device and install the driver correctly. Good work TK. I also checked the MSD mode by copying a few large directors to and from the SD card on the LPC. This included the MiosStudio.exe file. Even executed the re-copied file on the XP PC and it worked. Did this for both XP and Windows 7 PC's. The Midi port names on the XP showed as "USB Midi Device" rather than my configured name of "Pete" but its working. Don't know if my XP even knows about renaming nodes. Now lets wait for input from John. I think he will be happy.
  20. Sorry to say, I don't think this will work either. I just tried plugging my LPC units into my XP service pack 3 PC and it shows a trouble message bringing up the USB port. This duplicates the problem that John is seeing. I have the latest Bootloader with singe USB port enabled and Midio128 v3.015 loaded in both of my MidiBox units. I also changed the port names just to see how it worked. No problems on my Windows 7 PC where I'm doing my development software. You do have a problem John. What you need to do is go back to one of the previous releases of the Midio128 applications and see where things start working again. I don't know if the new Bootloader would be compatible with the older applications. Of course you need to load it using a USB to Midi cable.
  21. Hi John, You wrote:As i recall, the option came up when i upgraded the bootloader, but how do I do it since upgrading the midio128 app, and mios studio?As i recall, the option came up when i upgraded the bootloader, but how do I do it since upgrading the midio128 app, and mios studio? This option doesn't just come up, you have to know about it when running the "Update Bootloader" application. See which talks about my problems setting single USB port option. Loading a new application like Midio128 won't change the single USB port option, it's set for life until you do another Update Bootloader function. Since I am posting, I was wondering if your are trying bring you entire system up when power is applied to the PC? . I am asking this because of having problems at Organ Stop Pizza with the Midi port not being recognized when our relay application starts to run in the autostart directory. Had to put in a 10sec delay before starting the application. This was also on an XP machine. Pete
  22. I also think you got it to work. Go ahead and start cutting. In the write up at Link it does say STATUS light and shows an arrow to the light. You must have searched somewhere else to find this. Pete
  23. Just remember that you can't change the pitch while you have notes playing. You will have to send a All Notes Off message to the appropriate channel so notes won't cypher.
  24. Thanks for the information and the link Thorsten. Great stuff this MidiBox. There's so much to learn. Pete
  25. OK I'll bite. Here is a link that shows some rotary switches to pick from. We still don't understand what type of signals this switch is connected too. Is it an audio signal? If not, now much voltage and current is the switch going to control? How many positions does this switch need? Did you know that a rotary switch is not the same thing as a trim pot?
×
×
  • Create New...