FantomXR

Members
  • Content count

    942
  • Joined

  • Last visited

Community Reputation

28 Excellent

2 Followers

About FantomXR

  • Rank
    MIDIbox Guru
  1. Adding CS-line to AINSER8

    Hey @TK., I tried it without success. I copied the code from you into my firmware.  My NGC file looks like this: RESET_HW AINSER n=1 enabled=1 num_pins=1 cs=1 resolution=7bit AINSER n=2 enabled=1 num_pins=1 cs=2 resolution=7bit I have a potentiometer connected to the first analog input of the second and another one to the first input of the third module. The first module is not used at the moment.  If I "set debug on" in the terminal, I see movements if I turn the potentiometer which is connected to the second module. Anyway I can not see anything when I turn the pot which is connected to the third module. I've tried both PP and OD mode (with 1k pullup to 5V). I use PE6, which should lead to MIOS32_BOARD_J10_PinInit(14, MIOS32_BOARD_PIN_MODE_OUTPUT_OD) and case 2: return MIOS32_BOARD_J10_PinSet(14, value); Any ideas what I do wrong?
  2. PCBs for sale

    Yes! Drop me a PM.
  3. MidiBox DAW Controller

    I'd strongly recommend to not use "normal" LEDs. It's much easier to use WS2812 RGB LEDs. Only one single data-line needed instead of 11 (in your case). And routing LED-matrix on a PCB is cumbersome....  Apart from that I can not answer your question...
  4. MidiBox DAW Controller

    MB_NG supports up to 64 OLEDs from just one core ;-)
  5. Out-of-stock parts for midiphy BOM tool

    It's actually 50€. @otropomhow much do you need of each? I need something from mouser as well and maybe it makes sense to combine both orders...
  6. Chain MIDIboxes

    It's just one line of code in the firmware. So you have to compile the firmware by yourself.  Please note that both devices need to be powered from the same power source. 
  7. Adding CS-line to AINSER8

    Thank you very much! I'll give it a try. 
  8. Why does the HC165 even work?

    I did some tests with this. I connected a DIO-Board to my keyboard and the DIO-board to the core with jumper wire => no HCT541. I powered the DIO with 3V3 from the DISCO-Board. The result: It's running fine. No issues. I checked the clock with my oscilloscope. It looks very clean. Also no issues here.  So, I think I'll leave away the HCT541 for my applications and run everything from 3V3.  //edit: I've connected an encoder to the DIO-board. Works also fine.
  9. Adding CS-line to AINSER8

    Dear TK, I undo all changes and added the lines as you suggested. Unfortunately I can not get it working. I edited the ainser.h like this: s32 AINSER_Init(u32 mode) { MIOS32_BOARD_J10_PinInit(0, MIOS32_BOARD_PIN_MODE_OUTPUT_PP); s32 status = 0; int module, pin; // currently only mode 0 supported if( mode != 0 ) return -1; // unsupported mode #if AINSER_SPI_OUTPUTS_OD // pins in open drain mode (to pull-up the outputs to 5V) status |= MIOS32_SPI_IO_Init(AINSER_SPI, MIOS32_SPI_PIN_DRIVER_STRONG_OD); #else // pins in push-poll mode (3.3V output voltage) status |= MIOS32_SPI_IO_Init(AINSER_SPI, MIOS32_SPI_PIN_DRIVER_STRONG); #endif // SPI Port will be initialized in AINSER_Update() num_used_modules = AINSER_NUM_MODULES; #if AINSER_NUM_MODULES > 8 # error "If more than 8 AINSER_NUM_MODULES should be supported, the ainser_enable_mask variable type has to be changed from u8 to u16 (up to 16) or u32 (up to 32)" #endif #if AINSER_NUM_MODULES > 8 # error "If more than 8 AINSER_NUM_MODULES should be supported, the ainser_muxed_mask variable type has to be changed from u8 to u16 (up to 16) or u32 (up to 32)" #endif for(module=0; module<AINSER_NUM_MODULES; ++module) { num_used_pins[module] = AINSER_NUM_PINS; // ensure that CS is deactivated AINSER_SetCs(module, 1); AINSER_EnabledSet(module, 1); AINSER_MuxedSet(module, 1); AINSER_NumPinsSet(module, AINSER_NUM_PINS); AINSER_DeadbandSet(module, MIOS32_AIN_DEADBAND); // clear all values for(pin=0; pin<AINSER_NUM_PINS; ++pin) { ain_pin_values[module][pin] = 0; } previous_ain_pin_value = 0; } return status; } [] static s32 AINSER_SetCs(u8 module, u8 value) { switch( module ) { case 0: return MIOS32_SPI_RC_PinSet(AINSER_SPI, AINSER_SPI_RC_PIN_MODULE1, value); // spi, rc_pin, pin_value case 1: return MIOS32_SPI_RC_PinSet(AINSER_SPI, AINSER_SPI_RC_PIN_MODULE2, value); // spi, rc_pin, pin_value case 2: return MIOS32_BOARD_J10_PinSet(0, value); #if AINSER_NUM_MODULES > 3 # error "CS Line for more than 2 modules not prepared yet - please enhance here!" #endif } But when I now connect the Chipselect to PE8, which is D0 on J10A, nothing happens. Any idea? Thanks, Chris
  10. Adding CS-line to AINSER8

    Thanks for chiming in!  Is it really so easy? :-) Thanks! I'll try it!!
  11. what would your perfect control surface look like and do?

    I've made it already :-) 9x Encoders + 1 Potentiometer for master-volume 9x OLEDs 9x Faders 3x9 Button-rows 9x RGBLED-bars next to the faders 9x RGBLED underneath each encoder I don't need anything more!
  12. STP16 as alternative to HC595?

    Of course there are tons of other ICs, that are very usable but are not supported by MIDIbox though a dedicated driver is needed. I thought that the STP may can be used with very little changes in the firmware but giving a great benefit. TLC5958 is a complete other story I think. 
  13. STP16 as alternative to HC595?

    Isn't it 5-90mA per channel?
  14. Adding CS-line to AINSER8

    This seems to be a good hint! Thanks! Maybe @TK. could guide us in the right direction! :-)
  15. Adding CS-line to AINSER8

    Sure! I did this: static s32 AINSER_SetCs(u8 module, u8 value) { switch( module ) { case 0: return MIOS32_SPI_RC_PinSet(AINSER_SPI, AINSER_SPI_RC_PIN_MODULE1, value); // spi, rc_pin, pin_value case 1: return MIOS32_SPI_RC_PinSet(AINSER_SPI, AINSER_SPI_RC_PIN_MODULE2, value); // spi, rc_pin, pin_value case 2: return MIOS32_SPI_RC_PinSet(AINSER_SPI, AINSER_SPI_RC_PIN_MODULE3, value); // spi, rc_pin, pin_value #if AINSER_NUM_MODULES > 3 # error "CS Line for more than 2 modules not prepared yet - please enhance here!" #endif }