Autore Topic: PiFace e wiringPi  (Letto 12859 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #15 il: 30 Giugno 2014, 12:39:41 »
Il programma si ferma alla prima funzione perchè sotto non trova Raspberry
Quando gira su raspy la prima passa, si ferma alla seconda perchè non trova la funzione che inizializza il Chip

Se gira da terminale vuol dire che le librerie le vede, a mio avviso c'è qualche cosa in gambas che impedisce alla funzione che si trova in una libreria di vedere la funzione che cerca nell'altra
provare a modificare i sorgenti di wiringPi?
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #16 il: 30 Giugno 2014, 13:12:10 »
 :-\
« Ultima modifica: 30 Giugno 2014, 13:19:52 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #17 il: 30 Giugno 2014, 13:19:18 »
Quando gira su raspy la prima passa, si ferma alla seconda perchè non trova la funzione che inizializza il Chip
Ossia la famosa funzione: mcp23s17Setup()  ?


Se gira da terminale vuol dire che le librerie le vede, a mio avviso c'è qualche cosa in gambas che impedisce alla funzione che si trova in una libreria di vedere la funzione che cerca nell'altra
...sì, è molto strano !  :-X


provare a modificare i sorgenti di wiringPi?
Come penseresti di fare ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #18 il: 30 Giugno 2014, 13:29:28 »
no so bene cosa fare
a rigor di logica le librerie dovrebbero funzionare senza problemi, perlomeno su altri sistemi vanno
potrei trasferire la funzione incriminata sull'altra libreria e ricompilare, ma mi piacerebbe capire il motivo per cui non va

in ogni caso da terminale funziona, quindi non è un problema del sistema

ci penso un po su, ma non ho molte conoscenze per andare a fondo del problema :-\
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #19 il: 30 Giugno 2014, 13:51:41 »
Un'alternativa sarebbe invocare la funzione indirettamente da una libreria esterna appositamente da te creata. In tal modo faresti gestire quella funzione dal C come quando lanci gli esempi dal terminale.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #20 il: 30 Giugno 2014, 14:03:48 »
e se includessi la funzione piFaceSetup() nella libreria libwiringPi?
dopo pranzo ci provo....

mi rimane però sempre il dubbio sul perchè in gambas non funziona ???
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #21 il: 30 Giugno 2014, 15:17:41 »
e se includessi la funzione piFaceSetup() nella libreria libwiringPi?
Non comprendo perché potrebbe funzionare.  :-\


mi rimane però sempre il dubbio sul perchè in gambas non funziona ???
Per tentare di sciogliere il tuo dubbio, dovresti porre questa questione nella Mailing List ufficiale.

« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #22 il: 30 Giugno 2014, 15:34:05 »
...scusami, una domanda: poiché non ho installato nel sistema questi tre file d'intestazione: wiringPi.h, mcp23s17.h e piFace.h, né quindi le librerie condivise "libwiringPi:so:2.0" e "libwiringPiDev.so.2.0", puoi indicarmi i loro esatti percorsi nel tuo ?
« Ultima modifica: 30 Giugno 2014, 15:41:33 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #23 il: 30 Giugno 2014, 15:55:49 »
le due librerie sono in
/usr/local/lib
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #24 il: 30 Giugno 2014, 15:57:46 »
le due librerie sono in
/usr/local/lib

...ed i tre file header ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #25 il: 30 Giugno 2014, 16:20:10 »
/usr/local/include
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #26 il: 30 Giugno 2014, 16:44:41 »
Una prova potresti farla con il mio suggerimento estremo.

Dovresti creare il sorgente in C dell'apposita libreria, che ad esempio chiameremo libadhoc.c, nella cartella Dati del tuo progetto.

Il codice sorgente in C della libreria condivisa da te realizzata potrebbe essere:
Codice: c [Seleziona]
#include <stdint.h>
#include <wiringPi.h>
#include <mcp23s17.h>
#include "piFace.h"


int raspberry(int pinBase) {

    int rit;

/* Invoca la funzione del Raspberry: */
    rit = piFaceSetup(pinBase);

   return rit;

}


Il tuo codice Gambas sarebbe:
Codice: gambas [Seleziona]
Private Extern wiringPiSetup() As Integer In "libwiringPi"

Private Extern raspberry(pin As Integer) As Integer In "/tmp/libadhoc"


Public Sub Form_Open()

' Genera l'apposita libreria esterna per la gestione della funzione "piFaceSetup()":
   Shell "gcc -o /tmp/libadhoc.so " & Application.Path &/ "libadhoc.c -shared -fPIC" Wait
   
   wiringPiSetup()

' Invoca l'unica funzione dell'apposita libreria esterna:
   raspberry(200)

   etc...

   etc....
End
« Ultima modifica: 18 Agosto 2017, 15:08:43 da Gianluigi »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #27 il: 30 Giugno 2014, 18:45:50 »
soluzione ancor più estrema
ho copiato tutto il codice del file piface.c e l'ho inserito in wiringPi.c
Modificato anche l'header , ora la funzione piFaceStartup() si trova nella libreria libwiringPi
funziona :ok:
poi posterò i sorgenti e che Dennis Ritchie non mi mandi qualche fulmine....

« Ultima modifica: 30 Giugno 2014, 18:52:40 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #28 il: 01 Luglio 2014, 01:28:35 »
soluzione ancor più estrema
Bravo: sei riuscito a restare nel solo ambito Gambas.
« Ultima modifica: 01 Luglio 2014, 02:23:24 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: PiFace e wiringPi
« Risposta #29 il: 01 Luglio 2014, 08:53:26 »
soluzione ancor più estrema
Bravo: sei riuscito a restare nel solo ambito Gambas.

[/quote

Scusa Vuott, non ho capito...

pongo un'altra questione:

una volta che funziona e volessi creare un pacchetto di installazione per il programma gambas, come gestisco l'installazione delle librerie wiringPi?
devo fare due operazioni separate oppure riesco a gestire il tutto direttamente da Gambas?
"e il naufragar m'è dolce in questo mar"