micke.prag wrote:Ahh, verkar som dom bindningarna är skrivna mot version 1.x.
Dom måste uppgraderas att använda 2.0 med telldus-core.h iställer för TellUsbD101.h
De flesta funktionerna är snarlika fast med prefixet "td" istället för "dev".
När du länkar med gcc mot telldus-core görs det med -ltelldus-core i Linux men -framework TelldusCore under Mac OS X.
framework-växeln är trevlig då den även ger include-mappen till telldus-core.h har jag för mig.
Vi börjar kanske närma oss. Den där -framework flaggan blev jag inte klok på men lyckades till slut lista ut att man kan skriva
#include <TelldusCore/telldus-core.h>
i tellstick.c samt
#include <JavaVM/jni.h>
i tellstick.h så gick den direkt till de båda ramverken och hämtade header-filerna.
Jag lyckades dock inte fixa tellstick.c så att den matchar 2.0. Följande fel får jag:
$ gcc tellstick.c
tellstick.c: In function ‘Java_tellstick_tdTurnOn’:
tellstick.c:7: error: parameter name omitted
tellstick.c:7: error: parameter name omitted
tellstick.c: In function ‘Java_tellstick_tdTurnOff’:
tellstick.c:14: error: parameter name omitted
tellstick.c:14: error: parameter name omitted
tellstick.c: In function ‘Java_tellstick_tdBell’:
tellstick.c:21: error: parameter name omitted
tellstick.c:21: error: parameter name omitted
tellstick.c: In function ‘Java_tellstick_tdDim’:
tellstick.c:28: error: parameter name omitted
tellstick.c:28: error: parameter name omitted
tellstick.c: In function ‘Java_tellstick_tdMethods’:
tellstick.c:35: error: parameter name omitted
tellstick.c:35: error: parameter name omitted
tellstick.c:37: error: too few arguments to function ‘tdMethods’
tellstick.c: In function ‘Java_tellstick_tdGetNumberOftdices’:
tellstick.c:42: error: parameter name omitted
tellstick.c:42: error: parameter name omitted
tellstick.c: In function ‘Java_tellstick_tdGettdiceId’:
tellstick.c:49: error: parameter name omitted
tellstick.c:49: error: parameter name omitted
tellstick.c: In function ‘Java_tellstick_tdGetName’:
tellstick.c:56: error: parameter name omitted
tellstick.c:59: error: request for member ‘NewStringUTF’ in something not a structure or union
Här är en liten snippet ur den modifierad tellstick.c:
Code: Select all
JNIEXPORT jboolean JNICALL
Java_tellstick_tdTurnOn(JNIEnv *, jobject, jint inttdiceId)
{
return (jboolean) tdTurnOn( (int)inttdiceId);
}
Tack för att du står ut med mina frågor, micke!