Piattaforme > Raspberry Pi
PiFace e wiringPi
akrobaticone:
ho una scheda PiFace e sto tentando di farla funzionare con la libreria wiringpi
scaricata e compilata
per inizializzare la PiFace bisogna usare la funzione
wiringPiSetupPiFace()
come affermato quì
https://projects.drogon.net/raspberry-pi/wiringpiface/
controllando con il fantastico programma di Vuott, il "Cercafunzioni" nelle librerie generate dalla compilazione
la funzione di cui sopra non c'è
spulciando nei sorgenti viene solo dichiarata come extern in wiringPi.h con una nota sopra (deprecated)
ho provato gli esempi invece funzionano
allora ho controllato e ho trovato la funzione
piFaceSetup()
lanciando questa mi da un errore
mcp23s17 simbolo non trovato
per il momento mi sono fermato qui
proverò anche a scrivere allo sviluppatore della libreria
vuott:
--- Citazione da: Akrobaticone - 29 Giugno 2014, 08:31:48 ---piFaceSetup()
lanciando questa mi da un errore
mcp23s17 simbolo non trovato
--- Termina citazione ---
mcp23s17, se non ho compreso male, è un microchip.
akrobaticone:
@Vuott: si è un chip per la decodifica SPI
Riassumendo
ci sono due librerie
1) wiringPi
2) wiringPiDev
Gordon, Il creatore delle librerie mi ha confermato che
per inizializzare la PiFace bisogna chiamare prima la funzione
--- Codice: c ---wiringPiSetup()
--- Termina codice ---
contenuta nella 1
poi la funzione
--- Codice: c ---piFaceSetup()
--- Termina codice ---
contenuta nella 2
naturalmente ho dichiarato
--- Codice: gambas ---public extern wiringPiSetup() as integer in "libwiringPi"
public extern piFaceSetup(PIN as integer) as integer in "libwiringPiDev"
--- Termina codice ---
le funzioni vengono trovate
ora però ecco l'inghippo
piFaceSetup() (lib 2) richiama una routine mcp23s17Setup() che è contenuta nella (lib 1)
infatti l'errore che ottengo è
GPIO: symbol lookup error: /usr/local/lib/libwiringPiDev.so: undefined symbol: mcp23s17Setup
gli esempi che sono allegati alla libreria invece funzionano, si lanciano da terminale.
usano le due funzioni di cui sopra come inizializzazione
A questo punto posso pensare che il problema sia il modo in cui vengono dichiarate le funzioni EXTERN
I sorgenti di wiringPi sono disponibili e se li ho quasi capiti io...........
vuott:
--- Citazione da: Akrobaticone - 29 Giugno 2014, 21:29:12 ---piFaceSetup() (lib 2) richiama una routine mcp23s17Setup() che è contenuta nella (lib 1)
infatti l'errore che ottengo è
GPIO: symbol lookup error: /usr/local/lib/libwiringPiDev.so: undefined symbol: mcp23s17Setup
--- Termina citazione ---
Come hai dichiarato con Extern la funzione esterna mcp23s17Setup() ?
akrobaticone:
la funzione mcp23s17Setup() ho provato a dichiararla con le due librerie
libwiringPi e libwiringpiDev
anche se nel programma Gambas non viene mai richiamata
Allego la libreria in oggetto
Navigazione
[0] Indice dei post
Vai alla versione completa