Jump to content

jano

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by jano

  1. Quote

    you use Mbed OS with CubeMX and a ready Project from Eclipse?

    no, a library I found in Mbed works out of the box (for a old version of Mbed OS), then I used this to compare his behaviour (measuring with the oscilloscope) with the behaviour of the project I generated with the GNU MCU Eclipse +  CubeMX and followed the instructions on the wiki of uGFX to integrate it on an Eclipse project.

    I wanted to have this working on Eclipse because of the better debugging possibilities.

    I was changing the parameters in the main.c (attached on the first post) on the init section of the SPI until the numbers I read on the oscilloscope where the same as in the init sequence for the screen (frequency, polarity, etc.), for that reason these parameter can differ from the ones in the ioc file I will attach now, the valid parameters are the ones in the main.c

    Is important to have the right parameters in the SPI init, but even when this is correct and the numbers where the same all along the init sequence for the screen, it doesn't work until I added the order for releasing the bus at the end of each transmission. I think this should be corrected on the driver to avoid unnecessary instructions here, the driver I have of Mbed releases the bus between every data-cmd sequence.

     

    spi_1-pb6.ioc

  2. This is what I'm talking about:

    image.thumb.png.54feeaf9655752504e29f1ef6e5181bf.png

    paying $5/device sold seems like a good choice when I don't know if I can sell more than 50pcs, now the only option is to pay the full licence. Please tell me if the new pricing is fixed, because I need to consider if I will take a different path.

  3. After many hours reading data in the scope and comparing the behaviour of this with the Mbed library, I get it to work! :D

    The main difference is the Mbed library after each sequence of data it puts the CS line to high level (releases the bus), that is not the case of the uGFX lib for ILI9341 (at least on the init sequence, which is what I used to compare), so I added the code at the end of the transmission function on the board file, and it works

    For those who can be interested in using this combination of tools for this screen/microcontroller, I will attach the relevant files.

    To generate the project I used CubeMX, enabling SPI1 and some pins for CS, RST, DC ( D10, D9, D8 on the right side of the nucleo board), mixed this with the project generated in Eclipse and followed the procedure on the uGFX wiki to import the library.

     

    main.c

    stm32f4xx_hal_msp.c

    stm32f4xx_it.c

    board_ILI9341.h

  4. hi Victor!

    as far as I understand the getting started, I should use ugfx/gfxconf.h, my settings on this file are:

    #define GFX_USE_OS_RAW32                             TRUE
    
        #define GFX_CPU                                  GFX_CPU_CORTEX_M4_FP
            #define CORTEX_USE_FPU     TRUE
    
        #define GFX_OS_HEAP_SIZE                         8192
    
    #define GFX_USE_GDISP                                TRUE
    
    #define GDISP_NEED_CIRCLE                            TRUE
    #define GDISP_NEED_ELLIPSE                           TRUE
    #define GDISP_NEED_ARC                               TRUE
    #define GDISP_NEED_ARCSECTORS                        TRUE
    #define GDISP_NEED_CONVEX_POLYGON                    TRUE
    
    #define GDISP_NEED_TEXT                              TRUE
    
        #define GDISP_NEED_UTF8                          TRUE
    
        #define GDISP_INCLUDE_FONT_DEJAVUSANS10          TRUE

    Don't know about the HAL and CMSIS settings, probably I should check that.
    ARCH is defined in Properties->C/C++Build->Settings->Tolchains is set to ARM(AArch32) and prefix is arm-none-eabi-

    I know nothing about these flags, should I worry?

  5. Hello!

    I'm trying since a while to integrate this lib into a project and begin to play with my screen (the 2.8" w/touchscreen ILI9341, similar to those who sell Adafruit). My setup is Linux mint KDE 17.3, Eclipse Neon + GNU ARM Eclipse, NucleoF401RE board, the project was created with CubeMX and imported according with the method of Carmine Noviello (I successfully draw some things in a SSD1306 OLED screen with the U8GLib trough I2C and DMA).

    Since the Makefile is generated with some automake I make a makefile.init with this content:

    GFXLIB = /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx
    include $(GFXLIB)/gfx.mk

    In project properties->C/C++Build->Settings->ToolSettings added the include path "../ugfx" for the sections "Cross ARM GNU Assembler", "Cross ARM C Compiler" and "Cross ARM C++ Compiler", in "Cross ARM C++ Linker"->Miscellaneous->Other objects I added: $(GFXSRC)

    The methods in board_ILI9341.h seems to have nothing to do with the errors I have, I can comment everything and nothing new happens.

    This are some of the results of the compilation in the console:

    Building target: ili9341-ugfx-uno.elf
    Invoking: Cross ARM C++ Linker
    arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -Wall -Wextra  -g3 -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../ldscripts" -Wl,-Map,"ili9341-ugfx-uno.map" --specs=nano.specs -u _printf_float -o "ili9341-ugfx-uno.elf"  ./system/src/stm32f4xx/stm32f4xx_hal.o ./system/src/stm32f4xx/stm32f4xx_hal_cortex.o ./system/src/stm32f4xx/stm32f4xx_hal_dma.o ./system/src/stm32f4xx/stm32f4xx_hal_dma_ex.o ./system/src/stm32f4xx/stm32f4xx_hal_flash.o ./system/src/stm32f4xx/stm32f4xx_hal_flash_ex.o ./system/src/stm32f4xx/stm32f4xx_hal_flash_ramfunc.o ./system/src/stm32f4xx/stm32f4xx_hal_gpio.o ./system/src/stm32f4xx/stm32f4xx_hal_pwr.o ./system/src/stm32f4xx/stm32f4xx_hal_pwr_ex.o ./system/src/stm32f4xx/stm32f4xx_hal_rcc.o ./system/src/stm32f4xx/stm32f4xx_hal_rcc_ex.o ./system/src/stm32f4xx/stm32f4xx_hal_spi.o ./system/src/stm32f4xx/stm32f4xx_hal_tim.o ./system/src/stm32f4xx/stm32f4xx_hal_tim_ex.o  ./system/src/newlib/_cxx.o ./system/src/newlib/_exit.o ./system/src/newlib/_sbrk.o ./system/src/newlib/_startup.o ./system/src/newlib/_syscalls.o ./system/src/newlib/assert.o  ./system/src/diag/Trace.o ./system/src/diag/trace_impl.o  ./system/src/cortexm/_initialize_hardware.o ./system/src/cortexm/_reset_hardware.o ./system/src/cortexm/exception_handlers.o  ./system/src/cmsis/startup_stm32f401xe.o ./system/src/cmsis/system_stm32f4xx.o ./system/src/cmsis/vectors_stm32f4xx.o  ./src/main.o ./src/stm32f4xx_hal_msp.o ./src/stm32f4xx_it.o  /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfx.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_chibios.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_freertos.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_win32.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_linux.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_osx.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_raw32.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_ecos.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_rawrtos.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_arduino.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_cmsis.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_nios.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_threads.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_heap.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdriver/gdriver.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gqueue/gqueue.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_fonts.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_pixmap.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_image.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_image_native.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_image_gif.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_image_bmp.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_image_jpg.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/gdisp_image_png.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_encoding.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_font.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_justify.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_kerning.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_rlefont.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_bwfont.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_scaledfont.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gdisp/mcufont/mf_wordwrap.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gevent/gevent.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gtimer/gtimer.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_widget.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_wm.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_console.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_graph.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_button.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_slider.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_checkbox.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_image.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_label.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_radio.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_list.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_progressbar.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_container.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_frame.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_tabset.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_gl3d.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_keyboard.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_keyboard_layout.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gwin/gwin_textedit.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/ginput/ginput.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/ginput/ginput_mouse.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/ginput/ginput_keyboard.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/ginput/ginput_keyboard_microcode.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/ginput/ginput_toggle.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/ginput/ginput_dial.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gadc/gadc.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gaudio/gaudio.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gmisc/gmisc.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gmisc/gmisc_arrayops.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gmisc/gmisc_matrix2d.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gmisc/gmisc_trig.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_native.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_ram.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_rom.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_fatfs.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_petitfs.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_mem.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_chibios.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fs_strings.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_printg.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_scang.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_stdio.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fatfs_wrapper.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_fatfs_diskio_chibios.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_petitfs_wrapper.c /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gfile/gfile_petitfs_diskio_chibios.c  /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gtrans/gtrans.c
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_raw32.c:29:4: warning: #warning "GOS: Raw32 - Make sure you initialize your hardware and the C runtime before calling gfxInit() in your application!" [-Wcpp]
       #warning "GOS: Raw32 - Make sure you initialize your hardware and the C runtime before calling gfxInit() in your application!"
        ^
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_threads.c: In function 'threadreturn_t gfxThreadWait(gfxThreadHandle)':
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_threads.c:646:4: error: invalid conversion from 'gfxThreadHandle {aka void*}' to 'thread*' [-fpermissive]
      t = th;
        ^
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_heap.c: In function 'void* gfxAlloc(size_t)':
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_heap.c:76:32: error: expected unqualified-id before 'new'
       register memslot *prev, *p, *new;
                                    ^
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_heap.c:76:32: error: expected initializer before 'new'
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_heap.c:86:9: error: expected type-specifier before '=' token
         new = (memslot *)((char *)p + sz);
             ^
    /home/jano/STM32Toolchain/workspace/ili9341-ugfx-uno/ugfx/src/gos/gos_x_heap.c:87:8: error: expected type-specifier before '->' token
         new->next = p->next;
            ^

    and more like this, attached is the complete error log, main.c and board_ILI9341.h

    do I missing to include something? or should tell something more to the compiler? any ideas? Thanks for reading.

    err.txt

    main.c

    board_ILI9341.h

×
×
  • Create New...