par exemple
Code : Tout sélectionner
Debug OpenLibrary(0, "./liboled.so.1.0")
ExamineLibraryFunctions(0)
init = GetFunction(0, "oled_Initialize")
Debug init
CallCFunctionFast(init, #Null)
la partie oled qui nous m'interesse
oled.c
Code : Tout sélectionner
char* oled_Initialize(char* dev){
oled_configtty(); //configuration des entrées/sorties du port série
if(dev==NULL){
strcpy(dev,LCD);
} // si aucun périphérique n'est spécifié, on spécifie celui par défaut
fd = oled_setconfig(LCD); //application de la configuration (avec sauvegarde de l'ancienne
if(fd==EXIT_FAILURE){
fprintf(stderr,"Fatal error : %s (%d)\n", strerror(errno), errno);
exit(EXIT_FAILURE);
}
//tester si une structure est vide???
//affectation a une structure a partir de son pointeur
unsigned char argtab[1]={'U'};
SENDLCD(argtab);
unsigned char argtab2[3] = {'Y', 0x03, 0x01};
SENDLCD(argtab2);
/*infos = *(oled_info(OLED_INFOOUTPUT_SERIAL));*/
/*if(infos==NULL){
fprintf(stderr, "Can not retrieve OLED informations\n");
}*/
return dev;
}
Code : Tout sélectionner
#ifndef OLED_H
#define OLED_H
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<termios.h>
#include<errno.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdbool.h>
#define BAUDRATE B115200
#define LCD "/dev/ttyUSB0"
#define SENDLCD(str) oled_sendlcd(str,(sizeof(str)/sizeof(*str)))
#define ACK 0x06
#define NACK 0x15
/*declaration en tout genre*/
char* oled_Initialize(char* dev);
int oled_finalize();
void oled_configtty();
int oled_setconfig();
int oled_restoreconfig();
unsigned char * oled_sendlcd(unsigned char *data, int taille);
unsigned char * oled_sendlcdans(unsigned char *data);
bool iscoordvalid(unsigned char x, unsigned char y);
oled_color16 * oled_color24to16(oled_color24 * pColor);
int oled_erasescreen();
int oled_backlight(char value);
int oled_displaycontrol(oled_display statut);
int oled_contrast(char value);
int oled_powercontrol(oled_power state);
void oled_setinfostruct(oled_deviceinfo info);
oled_deviceinfo * oled_setinfo(oled_devicetype type,char hardware_rev, char firmware_rev, oled_res horizontal_res, oled_res vertical_res, oled_flash flash_memory_size);
oled_deviceinfo * oled_info(oled_infooutput output);
#endif