Jump to content

Dj Marco BH

Members
  • Posts

    14
  • Joined

  • Last visited

Posts posted by Dj Marco BH

  1. Hi Thorsten,

    I tried using MAKE to compile MIDIBOX_NG and some errors appeared.

    I:\MIOS32\trunk\apps\controllers\midibox_ng_v1>make
    rm -f project.hex
    
    Creating object file for port.c
    i:/MIOS32/trunk/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c: In function 'prvPortStartFirstTask':
    i:/MIOS32/trunk/FreeRTOS/Source/portable/GCC/ARM_CM3/port.c:282:1: warning: stack usage computation not supported for this target [enabled by default]
    
    Creating object file for core_cm3.c
    i:/MIOS32/trunk/drivers/LPC17xx/CMSIS/src/core_cm3.c: In function '__get_PSP':
    i:/MIOS32/trunk/drivers/LPC17xx/CMSIS/src/core_cm3.c:451:1: warning: stack usage computation not supported for this target [enabled by default]
    Creating object file for usbcontrol.c
    i:/MIOS32/trunk/drivers/LPC17xx/usbstack/src/usbcontrol.c: In function 'StallControlPipe':
    i:/MIOS32/trunk/drivers/LPC17xx/usbstack/src/usbcontrol.c:127:6: warning: variable 'pb' set but not used [-Wunused-but-set-variable]
    
    Creating object file for psock.c
    i:/MIOS32/trunk/modules/uip/uip/psock.c: In function 'psock_send':
    i:/MIOS32/trunk/modules/uip/uip/psock.c:179:3: warning: variable 'PT_YIELD_FLAG' set but not used [-Wunused-but-set-variable]
    i:/MIOS32/trunk/modules/uip/uip/psock.c: In function 'psock_generator_send':
    i:/MIOS32/trunk/modules/uip/uip/psock.c:218:3: warning: variable 'PT_YIELD_FLAG' set but not used [-Wunused-but-set-variable]
    i:/MIOS32/trunk/modules/uip/uip/psock.c: In function 'psock_readto':
    i:/MIOS32/trunk/modules/uip/uip/psock.c:274:3: warning: variable 'PT_YIELD_FLAG' set but not used [-Wunused-but-set-variable]
    i:/MIOS32/trunk/modules/uip/uip/psock.c: In function 'psock_readbuf':
    i:/MIOS32/trunk/modules/uip/uip/psock.c:301:3: warning: variable 'PT_YIELD_FLAG' set but not used [-Wunused-but-set-variable]
    
    Creating object file for ws2812.c
    i:/MIOS32/trunk/modules/ws2812/ws2812.c:71:2: warning: #warning "WS2812 driver not supported for this derivative yet!" [-Wcpp]
    i:/MIOS32/trunk/modules/ws2812/ws2812.c:102:12: warning: 'send_buffer' defined but not used [-Wunused-variable]
    
    Creating object file for msc_bot.c
    i:/MIOS32/trunk/modules/msd/LPC17xx/msc_bot.c: In function 'MSCBotBulkOut':
    i:/MIOS32/trunk/modules/msd/LPC17xx/msc_bot.c:268:13: warning: variable 'iChunk' set but not used [-Wunused-but-set-variable]
    Creating object file for msc_scsi.c
    i:/MIOS32/trunk/modules/msd/LPC17xx/msc_scsi.c: In function 'SCSIHandleCmd':
    i:/MIOS32/trunk/modules/msd/LPC17xx/msc_scsi.c:155:14: warning: variable 'dwLBA' set but not used [-Wunused-but-set-variable]
    
    Creating object file for freertos_heap.cpp
    c:/mios32_toolchain/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/bin/ld.exe: project_build/project.elf section `.bss' will not fit in region `RAM'
    c:/mios32_toolchain/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 672 bytes
    collect2.exe: error: ld returned 1 exit status
    make: *** [project_build/project.elf] Error 1

    Thanks, Marco.

  2. Hi,

    I need it because of the DJ program (Traktor). each side of the deck has 16 RGB LEDs (96 outputs). Missing VUs, elapsed time, LEDs for the other buttons (RGBs). Unfortunately that consumes many outputs and I'm afraid the 256 outputs will not be enough. I just want to ensure having more options for digital inputs and outputs.

    I'll try it later, I program all day and my head can not think anymore.

    Sorry for my bad english.

    Thanks again !! Marco.

  3. Tks TK. 

    I got sad :(
    I used this function" MIOS32_SPI_TransferByte " ...and   I got some signal from the LEDs ...

    	MIOS32_SPI_Init(0);
    	MIOS32_SPI_TransferModeInit(0,MIOS32_SPI_MODE_CLK1_PHASE1,MIOS32_SPI_PRESCALER_128);
    	MIOS32_SPI_IO_Init(0,MIOS32_SPI_PIN_DRIVER_WEAK_OD);
        MIOS32_SPI_RC_PinSet(0,1,1);

     

  4. On 25/09/2017 at 8:11 PM, Antichambre said:

    I think this can help too.
    See intouch() and getbit() functions, this is the mechanism I was talking about.

    Best regards
     

    I was able to adapt the code, it's a bit messy but it works. I used J28 Board !!! And you can still use one more TTP229 !!

    Some things in the code are being repeated, then I will improve the code.

    ///////////////////////////////////////////////////////////
    
    #include <mios32.h>
    #include "app.h"
    //#include "TTP229.h"
    // include everything FreeRTOS related we don't understand yet ;)
    #include <FreeRTOS.h>
    #include <portmacro.h>
    #include <task.h>
    #include <queue.h>
    #include <semphr.h>
    #include <stdbool.h>
    
    /////////TTP229////////////////////////////
    char sclPin;
    char sdoPin;
    const int SCL_PIN = 1;  // The pin number of the clock pin.
    const int SDO_PIN = 2;  // The pin number of the data pin.
    char _key16;
    char i=0;
    char key;
    char keypress;
    /////////TTP229 Functions////////////////////////////
    
    void TTP229(char sclPin, char sdoPin)
    {
       MIOS32_BOARD_J28_PinInit(sclPin,MIOS32_BOARD_PIN_MODE_OUTPUT_PP);
       MIOS32_BOARD_J28_PinInit(sdoPin,MIOS32_BOARD_PIN_MODE_INPUT_PD);
       MIOS32_BOARD_J28_PinSet(sclPin,1);
    }
    
    bool GetBit()
    {
        MIOS32_BOARD_J28_PinSet(1,0);
        MIOS32_DELAY_Wait_uS(2);
        bool retVal = !MIOS32_BOARD_J28_PinGet(2);
        MIOS32_BOARD_J28_PinSet(1,1);
        MIOS32_DELAY_Wait_uS(2);
        return retVal;
    }
    bool IsTouch()
    {
        unsigned timeout = 6000; // 50ms timeout
        while (MIOS32_BOARD_J28_PinGet(2)) // DV LOW
        {
            if (timeout-1 == 0) return false;
            MIOS32_DELAY_Wait_uS(10);
        }
        while (!MIOS32_BOARD_J28_PinGet(2)) // DV HIGH
        {
            if (timeout-1 == 0) return false;
            MIOS32_DELAY_Wait_uS(10);
        }
        MIOS32_DELAY_Wait_uS(10); // Tw
        return true;
    }
    
    char GetKey16()
    {
        if (IsTouch()) Key16();
        return _key16;
    }
    void Key16()
    {
        _key16 = 0;
        for (i = 0; i < 16; i++)
        if (GetBit())_key16 = i + 1;        
        MIOS32_DELAY_Wait_uS(2000); // Tout
    }
    
    void APP_Init(void)
    {
       MIOS32_DELAY_Init(0);    
       MIOS32_SPI_Init(0);
       MIOS32_SPI_IO_Init(0,MIOS32_SPI_PIN_DRIVER_STRONG);
       MIOS32_SPI_TransferModeInit(0,MIOS32_SPI_MODE_CLK1_PHASE1,MIOS32_SPI_PRESCALER_8);
       MIOS32_BOARD_Init(0);
       //MIOS32_BOARD_J28_PinInit(0,MIOS32_BOARD_PIN_MODE_OUTPUT_PP);
       MIOS32_BOARD_J28_PinInit(1,MIOS32_BOARD_PIN_MODE_OUTPUT_PP);
       MIOS32_BOARD_J28_PinInit(2,MIOS32_BOARD_PIN_MODE_INPUT_PD);
      // MIOS32_BOARD_J28_PinInit(3,MIOS32_BOARD_PIN_MODE_OUTPUT_PP); 
       TTP229(SCL_PIN, SDO_PIN);  
    }
    
    void APP_Tick(void)
    {   
      key = GetKey16();
    if(key)
    {
    keypress=key;    
    MIOS32_MIDI_SendNoteOn(DEFAULT, Chn4, keypress, 127);
    }
    if(key==0 )
      {
         MIOS32_MIDI_SendNoteOn(DEFAULT, Chn4, keypress, 0);
     }    
    
    }
    
    /////////// in app.h add lines//////////////////////////////
    
    extern void APP_AIN_NotifyChange(u32 pin, u32 pin_value);
    extern void Key16(void);
    extern void TTP229(char sclPin, char sdoPin);

    TKS TKS TKS !!!!!

  5. Tks!!!

    Exactly, it does not have CS.

    I think it's not an I2C because it has no address.

    It communicates using 16 clock pulses, each pulse reads a key, seems to be a proprietary protocol similar to SPI without CS.

    Where can I find information on how to control any LPC pin? For example: the I2C pins.

    Tks!!!

  6. Hi all, I will not use the SDcard. I will use a capacitive touch sensor TTP229 at 2 wires(16 keys). http://www.tontek.com.tw/download.asp?sn=726

    I was able to use the sensor on the J16. using the "SI" and "SC" pin.

    How to configure the J16 pins for two "SI" inputs?Or how to configure II2C and I2S for SI and SC? I want to use at least two TTP229

     

    Below the code for J16 PIN SI.

    mios32_config.h

    #define MIOS32_SPI0_IN_INIT { MIOS32_SYS_LPC_PINMODE(1, 24, 2); \
                                  MIOS32_SYS_LPC_PINMODE(1, 23, 0); \
                                  MIOS32_SYS_LPC_PINMODE(1, 22, 2); \
                                  MIOS32_SYS_LPC_PINMODE(1, 21, 2); \
                                  MIOS32_SYS_LPC_PINMODE(1, 20, 2); }

    APP.C

    u8 receive;
    u8 receive1;
    u8 flag1=0;
    u8 flag2=0;
    char valor1;
    char valor2;

    void APP_Init(void)
    {
      // initialize all LEDs
       MIOS32_BOARD_LED_Init(0xffffffff);
       MIOS32_SPI_Init(0);
       MIOS32_SPI_IO_Init(0,MIOS32_SPI_PIN_DRIVER_STRONG);
       MIOS32_SPI_TransferModeInit(0,MIOS32_SPI_MODE_CLK1_PHASE1,MIOS32_SPI_PRESCALER_8);

    }

    void APP_Tick(void)
    {
       receive=MIOS32_SPI_TransferByte(0,receive); /////valor 255 if not pressed
       receive1=MIOS32_SPI_TransferByte(0,receive1);////valor 255 if not pressed
       
        if(receive<255 && flag1==0)//////if pressed
        {   valor1=receive-127;
            MIOS32_MIDI_SendNoteOn(DEFAULT, Chn4, valor1, 127);
            flag1=1;
        //    MIOS32_MIDI_SendDebugMessage("Recebido:%u  FLAG1:%u\n",valor1, flag1);
        }
        if(receive==255 && flag1==1 )
        {   
            MIOS32_MIDI_SendNoteOff(DEFAULT, Chn4, valor1, 0);
            flag1=0;
        }
        if(receive1<255 && flag2==0)//////if pressed
        {   
            valor2=receive1-127; 
            MIOS32_MIDI_SendNoteOn(DEFAULT, Chn5, valor2, 127);
            flag2=1;
        }
        if(receive1==255 && flag2==1)
        {
            MIOS32_MIDI_SendNoteOff(DEFAULT, Chn5, valor2, 0);
            flag2=0;
        }
    }

     

    Video Test in Portuguese ...

    SO to SI.jpg

×
×
  • Create New...