electronut gravatar image

Posted 2017-08-11 08:21:31 +0100

blogs->all

OLED display support for nRF52832 (SSD1306, Adafruit GFX)

Just a quick post to say that we have ported the Adafruit GFX and SSD1306 libraries to nRF52832. Currently only I2C is supported.

The code can be found here:

https://github.com/electronut/ElectronutLabs-bluey/tree/master/code/bluey-OLED

Here it's seen working with our Bluey nRF52 development board. More information about Bluey here:

http://electronut.in/bluey/

image description

5 comments

Sorrow91 gravatar image

Posted Oct. 5, 2017, 11:16 a.m.

I copied the code into my ble application.

But everytime I get the same errors:

.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol textsize multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol rotation multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol wrap multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol WIDTH multiply defined (by ssd1306.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol WIDTH multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol HEIGHT multiply defined (by ssd1306.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol HEIGHT multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol _width multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol _height multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol cursor_x multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol cursor_y multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol textcolor multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol textbgcolor multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol _drawPixel multiply defined (by main.o and adafruit_gfx.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol _i2caddr multiply defined (by main.o and ssd1306.o).
.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol _vccstate multiply defined (by main.o and ssd1306.o).

Can't figure out why this happen.

Can you help me guys?

Thanks

electronut gravatar image

Posted Oct. 5, 2017, 4 p.m.

...textsize multiply defined (by main.o and adafruit_gfx.o).

You are linking in the same code twice.

How did you build our code? Which SDK, and did you add any extra code?

Regards

Mahesh

Sorrow91 gravatar image

Posted Oct. 5, 2017, 4:07 p.m.

Hey Makesh,

I tried to figure out where the code is linkin twice, but I can't find where... I uploaded my code to github. IDE is Keil.

github link

Thanks Kevin

electronut gravatar image

Posted Oct. 5, 2017, 5:17 p.m.

My code uses Softdevice, and it uses the ARM GCC toolchain. Sorry, but I am not familiar with Keil. The issue as I said is just with linking.

Sorrow91 gravatar image

Posted Oct. 5, 2017, 5:40 p.m.

No problem, thank you anyway Makesh! I love your projects, will buying an bluey in near future :)

Sign in to comment.