Piattaforme > Raspberry Pi

PiFace e wiringPi

(1/9) > >>

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

[#] Pagina successiva

Vai alla versione completa