Jump to content

Synapsys

Members
  • Posts

    85
  • Joined

  • Last visited

    Never

Everything posted by Synapsys

  1. Hi Steve, Using MIOS and a very simple hardware setup you could easily duplicate what the PC is now doing. You would need one core module and one DIN module stuffed with only one 74HC165 parallel to serial converter chip since you have only 8 inputs. MIOS scans the HC165 chip and calls a vector routine (USER_DIN_NotifyToggle) whenever the state of an input changes. A very simple application written in PIC assembler or SDCC C code could send out the appropriate MIDI message whenever the state of a beam detector changed. Of course, if you do not want to write any code you could use the MIDIbox64 application to do what you want by just assigning the first SRIO chip as though it were connected to buttons and accomplish the same result. Hope this helps.... Regards, Synapsys
  2. Hi Ramon, Yes. MIOS (the operatings system, not an application) does not care what the buttons and LEDs are intended to be used for. If you write your own application you can assign the buttons any function you want. If the buttons are going to send MIDI events when activated perhaps an existing application such as the 64 or 128 boxes will already do what you want. If you look at the MIOS_DIN.INC code you will see that the USER_DIN_NotifyToggle function is called when a button state changes. This would be a routine in your application that can take any action you wish when it is called. Similarly, your application can call the MIOS_DOUT_PinSet function to control the state of any of the LEDs connected to the DOUT module. Hope this helps you. :) Regards, Synapsys
  3. Hi, There are several manufacturers of racks and panels that have drawings of thier products with dimensions. Here are a couple of links that may help you. http://www.hammondmfg.com/pdf/RCBS1900313.pdf http://www.hammondmfg.com/pdf/PBPA_PBPS19001BK2.pdf The horizontal dimension (i.e. srew hole to screw hold distance of 18.5") and the vertical single space dimension (1.75" for a single space) are really the only standards. The depth of the enclosure varies depending on intended use. There is an Electronic Industy Association (EIA) standard you may want to look for, EIA-310, that is the industry standrad for rack mount equipment. Hope this helps you :) Regards, Synapsys
  4. The RGOTO macro is a relative branch that acts exactly like the GOTO instruction except is has a limited range for the target address. Bascially, the BRA instruction says to jump unconditionally to the current address (PC register) plus or minus up to 1024. Actually, the range is -1024 to +1023. Why use this rather than a GOTO instruction? The answer is simple. The BRA instruction takes up only 1 word of memory while the GOTO instruction takes up 2 words. We all know that in the world of micro-controllers code memory is at a premium so anywhere it can be saved is a good thing to do. ;) Keep in mind that the BRA instruction is not any faster that the GOTO instruction, they both takes 2 cycles. Thorsten's definition of the RGOTO macro makes the code clearer to read. It means a Relative GOTO which is more obvious as to what it does than a Branch to most people. Regards, Synapsys
  5. Hi Pilo, I can understand that ::) I really don't want to try modifying the GPASM source since (even if I was successful) I would have a non-standard version and upgrading would then become a painful thing. So for now I can live with changing the macros in the MIOS sources. I only have to do it once each time a new MIOS release happens. :)
  6. Hi, Raphael is correct. The timer 1 interrupt handler (source in mios_isr.inc) calls the MIOS_SRIO_Tick (source in mios_srio.inc) routine every millisecond. This routine processes all the DIN and DOUT shift registers that are installed in the system. The timer 1 interrupt handler then calls the MIOS_ENC_Tick (source in mios_enc.inc) routine. This routine checks the DIN data just read by the MIOS_SRIO_Tick routine and processes any DIN change related to the encoders. As a result, in terms of performance, it makes no difference where the physical buttons and encoders are attached to the DIN chain. Of course each encoder must be connected to two adjacent pins in the chain. ;) Regards, Synapsys
  7. Hi all, Pilo is correct about GPASM not handling some macros correctly. Specifically, the construct of passing an instruction such as "goto someLable" as an argument to the macro is not supported by GPASM. In order to alleviate this problem I decided to expand the macros IFSET, IFCLR, BIFSET, BIFCLR, IFNEQ, IFLEQ and IFGEQ manually throughout all the MIOS source code. This was of course a BIG job since these macros are used everywhere. And, doing it manually was also very prone to mistakes. As a result, I wrote a small C# application that does the job for me. The end result was a set of MIOS V1.8 source code modules that work fine with GPASM. So now I use GPASM for all my PIC work. Here is an example of the output from my program: ;; *** macro fix *** BIFSET MIOS_MPROC_SYXSTATE, MIOS_MPROC_SYXSTATE_MYSYSEX, BANKED, rgoto _MIOS_MPROC_Handler btfsc MIOS_MPROC_SYXSTATE,MIOS_MPROC_SYXSTATE_MYSYSEX,BANKED rgoto _MIOS_MPROC_Handler I left the original line with the macro in the code but commented out so I could be sure that my expansion of the macro was what I expected it to be. I am sure that a perl script could be written to do the same thing but I am not very experienced with perl so I chose to write an application to do the job. It is too bad that GPASM does not support this type of macro construct as it is, in my opinion, a very useful one. Maybe someone with too much time on thier hands will add this capability to GPASM in the future. It is nice to use GPASM for the OS as well as for applications since it is required when using SDCC anyway. :) Regards, Synapsys
  8. Has anyone investigated the use of the Microchip 18F4620 MCU in place of the 18F452? The 18F4620 MCU has twice the flash capacity (64K bytes) and more than twice the RAM capacity (almost 4K bytes). This chip is somewhat expensive compared to the 18F452 (> $11 USD for 1 chip) but the extra memory capacity might be worth the cost. The chip apears to be pin compatible (40 pin DIP package) with the 18F452. The extra memory capacity would allow larger applications and would probably be more sutiable for applications written in 'C'. The datasheet is somewhat lacking in the description of the device programming but on the surface it appears to be setup the same as the 18F452. Any info anyone can provide would be appreciated. Thanks, Synapsys
  9. I am somewhat surprised to see this subject getting new responses. I ordered and started playing with these touchpads several months ago only to find out that an implementation workable with MBOX was already underway and almost finished. So, I abandoned that project. As I recall it was Duggle that had a working prototype. Regards, Synapsys
  10. Another thing that should be considered here is the capacitive load the cable will put on the signals to the DIN chain. Think about how the touch sensors for the faders work. When touched the capacitive load on the signal is high enough that the signal is no longer recognized as a logical high. The same thing will happen if too long a cable is connectd to the DIN signals.
  11. Hi, If by battery meter you mean a multi-meter than the answer is no. A multi-meter when measuring resistance has a very high impedance a very low current. This will not typically harm a diode. Cheers, Synapsys
  12. Hi Jefman, Use of the 18F4331 as a replacement for the 18F432 doesn't seem feasible for MIOS. MIOS, as it stands now, uses about 12K bytes of flash and the 18F4331 has only 8K bytes of flash. However, since you need the PWM capabilities of the 18F4331 perhaps you could use it for the motor control functions and utilize the MIDI merger code and MBLink to communicate with a standard core module. Using this arrangment, the 18F4331 would connect to the MIDI in from the outside world and would pass incoming MIDI that is not used by the motor controller through to the core. If you setup the LCD to use 4-bit mode you can obtain four more pins (port b<0:3>) to be used for other purposes. Thorsten's excellent coding techniques allow changing pin assignments quite easy. The dual use of D<5> for I2C and RS is not a problem since the RS bit to the LCD only has meaning when the E bit to the LCD is toggled. Since the bankstick code and the LCD code execute seperately no interference occurs. Further, the I2C protocol will ignore the SC changes when the LCD is being used since the changes will not be recognized as valid I2C messages. Hope this helps :) Regards, Synapsys
  13. Hi Jefman, Use of the 18F4331 as a replacement for the 18F432 doesn't seem feasible for MIOS. MIOS, as it stands now, uses about 12K bytes of flash and the 18F4331 has only 8K bytes of flash. However, since you need the PWM capabilities of the 18F4331 perhaps you could use it for the motor control functions and utilize the MIDI merger code and MBLink to communicate with a standard core module. Using this arrangment, the 18F4331 would connect to the MIDI in from the outside world and would pass incoming MIDI that is not used by the motor controller through to the core. If you setup the LCD to use 4-bit mode you can obtain four more pins (port b<0:3>) to be used for other purposes. Thorsten's excellent coding techniques allow changing pin assignments quite easy. The dual use of D<5> for I2C and RS is not a problem since the RS bit to the LCD only has meaning when the E bit to the LCD is toggled. Since the bankstick code and the LCD code execute seperately no interference occurs. Further, the I2C protocol will ignore the SC changes when the LCD is being used since the changes will not be recognized as valid I2C messages. Hope this helps :) Regards, Synapsys
  14. Hi, There is another difference with the white connectors. If the correct mating connector is used the connection is polarized. That is, the mating connector can only be connected in one way and cannot be turned around. This is typically not true for the black connectors. This is not necessarily a problem with most connections since once a reversed connector is found it can be trurned around to operate correctly. With power connections (+5v,Ground) however a reversed connector could cause damage. BTW it is possible to polarize the black connectors but it requires an extra 'male' pin that is not used and is cut off and a small plastic plug that is inserted into the mating 'female' connector in the cut off pin location. When this is done the 'female' connector can only be inserted with the plug aligned with the missing 'male' pin. This is a common practice in many PC connectors. Regards, Synapsys
  15. Hi, There is another difference with the white connectors. If the correct mating connector is used the connection is polarized. That is, the mating connector can only be connected in one way and cannot be turned around. This is typically not true for the black connectors. This is not necessarily a problem with most connections since once a reversed connector is found it can be trurned around to operate correctly. With power connections (+5v,Ground) however a reversed connector could cause damage. BTW it is possible to polarize the black connectors but it requires an extra 'male' pin that is not used and is cut off and a small plastic plug that is inserted into the mating 'female' connector in the cut off pin location. When this is done the 'female' connector can only be inserted with the plug aligned with the missing 'male' pin. This is a common practice in many PC connectors. Regards, Synapsys
  16. Ok I understand and agree with you. I would not want to slow down the server or use up disk space there. I can live with it too. I just have to read faster and get through the whole forum so I can use the mark all read feature :)
  17. Ok I understand and agree with you. I would not want to slow down the server or use up disk space there. I can live with it too. I just have to read faster and get through the whole forum so I can use the mark all read feature :)
  18. Thanks SmashTV :) This is what I was looking for. Only problem is that I cannot find where this setting is. ??? The only preference settings I can find are in my Profile area and this one is not there. Anyone know where this setting is? Regards, Synapsys
  19. Thanks SmashTV :) This is what I was looking for. Only problem is that I cannot find where this setting is. ??? The only preference settings I can find are in my Profile area and this one is not there. Anyone know where this setting is? Regards, Synapsys
  20. Hi all, This question is just one of curiosity. When I go to a topic list here the word "new" is displayed apparently indicating that something has been added to the topic. When I go look at the topic and come back to the list the word new is gone (as I would expect). However, when I come back to the list, say the next day, the word new is back even if nothing has been added to the topic. Does anybody know why this is? This makes it much more time consuming to work through some of the very long topic threads in a list that has many pages. Not a gripe .. just a quirk :-/
  21. Hi all, This question is just one of curiosity. When I go to a topic list here the word "new" is displayed apparently indicating that something has been added to the topic. When I go look at the topic and come back to the list the word new is gone (as I would expect). However, when I come back to the list, say the next day, the word new is back even if nothing has been added to the topic. Does anybody know why this is? This makes it much more time consuming to work through some of the very long topic threads in a list that has many pages. Not a gripe .. just a quirk :-/
  22. Thanks Moebius, Upon closer examination of the data sheet I see that a Port C input does not have internal pullups. :-[
  23. Thanks Moebius, Upon closer examination of the data sheet I see that a Port C input does not have internal pullups. :-[
  24. Synapsys

    grounding

    Hi, The issue of grounding in an audio system has long been one of debate. In particular the issue of the shield being connected at only one or both ends. There are many factors that affect this. Here is a link to an article that discusses this topic. It is worth reading. http://www.rane.com/note151.html Regards, Synapsys
  25. Hi, Does anyone know the purpose of resistors R9 and R10 on the core module? They are pullups on RC3 and RD1 on the 18F MCU. These pins can be setup to use internal pullups on the chip so I don't see the need for these resistors. Regards, Synapsys
×
×
  • Create New...