bitbank2 / ss_oled

Simple and small library to control 1-bpp OLED displays (Linux + Arduino)
GNU General Public License v3.0
186 stars 34 forks source link

Struggling to get the Library work on a Raspberry Pi #62

Closed Emmpunkt closed 6 months ago

Emmpunkt commented 6 months ago

Hello, i can´t get the library work on a Raspberry Pi. I think i missed something, but i don´t know what it is. I installed/make Bitbank_I2C first. By installing the ss_oled i got some warnings, but no errors:

root@IRadio:/home/emmpunkt/iRadio/display/ss_oled/linux# make
cc -c -Wall -O2 -I../src -D_LINUX_ ss_oled.c
In file included from ss_oled.c:4:
../src/ss_oled.cpp: In function ‘oledScaledString’:
../src/ss_oled.cpp:2062:13: warning: unused variable ‘iOffset’ [-Wunused-variable]
 2062 | int iPitch, iOffset;
      |             ^~~~~~~
../src/ss_oled.cpp:2111:41: warning: ‘ny’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 2111 |                d = &pOLED->ucScreen[(ny >> 3) * iPitch + nx];
      |                                     ~~~~^~~~~
../src/ss_oled.cpp:2111:56: warning: ‘nx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 2111 |                d = &pOLED->ucScreen[(ny >> 3) * iPitch + nx];
      |                                     ~~~~~~~~~~~~~~~~~~~^~~~
ar -rc libss_oled.a ss_oled.o ;\
sudo cp libss_oled.a /usr/local/lib ;\
sudo cp ../src/ss_oled.h /usr/local/include

If i try to make the samples, i get this:

root@IRadio:/home/emmpunkt/iRadio/display/ss_oled/linux# make -f make_samples
cc -c -Wall -O2 -D_LINUX_ sample.c
cc sample.o -lss_oled -lpigpio -lBitBang_I2C -lm -lpthread -o sample
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `i2cWrite':
BitBang_I2C.c:(.text+0x4c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x5c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x74): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x84): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x90): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x98): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xb0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xcc): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd4): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xe4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x100): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x128): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x144): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x154): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x16c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x178): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x184): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x198): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1a4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1b4): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1c8): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1d4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1dc): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1ec): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1f8): undefined reference to `gpioDelay'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CInit':
BitBang_I2C.c:(.text+0x244): undefined reference to `gpioInitialise'
/usr/bin/ld: BitBang_I2C.c:(.text+0x2c8): undefined reference to `gpioWrite'
/usr/bin/ld: BitBang_I2C.c:(.text+0x2d4): undefined reference to `gpioWrite'
/usr/bin/ld: BitBang_I2C.c:(.text+0x2e0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x2ec): undefined reference to `gpioSetMode'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CTest':
BitBang_I2C.c:(.text+0x360): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x37c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x39c): undefined reference to `gpioSetMode'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o):BitBang_I2C.c:(.text+0x3bc): more undefined references to `gpioSetMode' follow
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CTest':
BitBang_I2C.c:(.text+0x3e4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x3f0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x3f8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x410): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x41c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x42c): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x440): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x44c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x458): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x470): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x47c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x48c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x498): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x4a8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x4bc): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x4c4): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x4d4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x4e0): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x4e8): undefined reference to `gpioDelay'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CScan':
BitBang_I2C.c:(.text+0x570): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x580): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x590): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x5b4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x5d0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x5e0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x5f8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x604): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x610): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x624): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x630): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x640): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x654): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x660): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x66c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x67c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x688): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x698): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x6a4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x6b4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x720): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x728): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x738): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x744): undefined reference to `gpioDelay'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CWrite':
BitBang_I2C.c:(.text+0x778): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x794): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x7b4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x7d4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x7e4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x7fc): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x808): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x810): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x828): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x834): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x844): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x858): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x864): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x87c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x88c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x898): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8a8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8b4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8c4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8d4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8dc): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8ec): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x8f8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x900): undefined reference to `gpioDelay'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CReadRegister':
BitBang_I2C.c:(.text+0x98c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x9ac): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x9cc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x9ec): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x9fc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa14): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa20): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa28): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa40): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa4c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa5c): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa70): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa7c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xa94): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xaa4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xab0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xac0): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xacc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xadc): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xaf0): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xaf8): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xb08): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xb14): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xb1c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xb9c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbac): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbb8): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbc8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbd4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbe4): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xbf0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc00): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc10): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc30): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc54): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc64): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc7c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc88): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xc90): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xca0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xcac): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xcbc): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xcd0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xcdc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd08): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd20): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd2c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd34): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd58): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd78): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd84): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xd94): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xda0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xdb0): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xdbc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xdd8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xde0): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xdf0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xdfc): undefined reference to `gpioDelay'
/usr/bin/ld: /usr/local/lib/libBitBang_I2C.a(BitBang_I2C.o): in function `I2CRead':
BitBang_I2C.c:(.text+0xe30): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xe50): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xe70): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xe90): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xea0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xeb8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xec4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xecc): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xee4): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xef0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf00): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf14): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf20): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf3c): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf4c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf58): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf68): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf74): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf84): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf94): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xf9c): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0xfac): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0xfb8): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0xfc0): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1024): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x103c): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1048): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1050): undefined reference to `gpioRead'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1074): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x1094): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x10a0): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x10b0): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x10bc): undefined reference to `gpioSetMode'
/usr/bin/ld: BitBang_I2C.c:(.text+0x10cc): undefined reference to `gpioDelay'
/usr/bin/ld: BitBang_I2C.c:(.text+0x10d8): undefined reference to `gpioSetMode'
collect2: error: ld returned 1 exit status
make: *** [make_samples:19: sample] Error 1

So i guess something is missing. Sorry no clue what it is.... Regards Michael

bitbank2 commented 6 months ago

Hi Michael, Probably easier if you use the version of ss_oled I adapted for the Pico SDK: https://github.com/bitbank2/Pi_Pico_C_Projects

If you're using Arduino, then it will be easier to use my OneBitDisplay library.