diff --git a/cpp/wiiuse/definitions.h b/cpp/wiiuse/definitions.h index d1d3e6c..9de1158 100644 --- a/cpp/wiiuse/definitions.h +++ b/cpp/wiiuse/definitions.h @@ -39,16 +39,16 @@ #define WIIMOTE_PI 3.14159265f -#define WITH_WIIUSE_DEBUG +//#define WITH_WIIUSE_DEBUG /* Error output macros */ -#define WIIUSE_ERROR(fmt, ...) fprintf(stderr, "[ERROR] " fmt "\n", ##__VA_ARGS__) +#define WIIUSE_ERROR(fmt, ...) //fprintf(stderr, "[ERROR] " fmt "\n", ##__VA_ARGS__) /* Warning output macros */ -#define WIIUSE_WARNING(fmt, ...) fprintf(stderr, "[WARNING] " fmt "\n", ##__VA_ARGS__) +#define WIIUSE_WARNING(fmt, ...) //fprintf(stderr, "[WARNING] " fmt "\n", ##__VA_ARGS__) /* Information output macros */ -#define WIIUSE_INFO(fmt, ...) fprintf(stderr, "[INFO] " fmt "\n", ##__VA_ARGS__) +#define WIIUSE_INFO(fmt, ...) //fprintf(stderr, "[INFO] " fmt "\n", ##__VA_ARGS__) #ifdef WITH_WIIUSE_DEBUG #ifdef WIN32 diff --git a/cpp/wiiuse/msvc/wiiuse.suo b/cpp/wiiuse/msvc/wiiuse.suo index 574cebf..ce21a5c 100644 Binary files a/cpp/wiiuse/msvc/wiiuse.suo and b/cpp/wiiuse/msvc/wiiuse.suo differ diff --git a/cpp/wiiusej/lib/wiiuse.lib b/cpp/wiiusej/lib/wiiuse.lib index 93409c6..f477ac8 100644 Binary files a/cpp/wiiusej/lib/wiiuse.lib and b/cpp/wiiusej/lib/wiiuse.lib differ diff --git a/cpp/wiiusej/msvc/WiiUseJ.suo b/cpp/wiiusej/msvc/WiiUseJ.suo index 1032800..e8c9e85 100644 Binary files a/cpp/wiiusej/msvc/WiiUseJ.suo and b/cpp/wiiusej/msvc/WiiUseJ.suo differ diff --git a/cpp/wiiusej/msvc/WiiUseJ.vcxproj b/cpp/wiiusej/msvc/WiiUseJ.vcxproj index ea82aed..c53d198 100644 --- a/cpp/wiiusej/msvc/WiiUseJ.vcxproj +++ b/cpp/wiiusej/msvc/WiiUseJ.vcxproj @@ -88,12 +88,9 @@ - - - diff --git a/cpp/wiiusej/msvc/WiiUseJ.vcxproj.filters b/cpp/wiiusej/msvc/WiiUseJ.vcxproj.filters index 380ac77..5bb53f7 100644 --- a/cpp/wiiusej/msvc/WiiUseJ.vcxproj.filters +++ b/cpp/wiiusej/msvc/WiiUseJ.vcxproj.filters @@ -18,19 +18,10 @@ Header Files - - Header Files - Source Files - - Source Files - - - Source Files - \ No newline at end of file diff --git a/cpp/wiiusej/wiiusej_Calibration.c b/cpp/wiiusej/wiiusej_Calibration.c deleted file mode 100644 index 2456fee..0000000 --- a/cpp/wiiusej/wiiusej_Calibration.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "wiiusej_WiiUseApi.h" -#include "wiiuse.h" - -static wiimote** wiimotes; -static int nbMaxWiimotes; - - -JNIEXPORT jshortArray JNICALL Java_wiiusej_WiiUseApi_getCalibration -(JNIEnv *env, jobject obj, jint id) { - struct wiimote_t* wm = wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id); - const accel_t* accel = &wm->accel_calib; - const vec3b_t* zero = &accel->cal_zero; - const vec3b_t* g = &accel->cal_g; - short calibration[] = { - zero->x, zero->y, zero->z, - g->x, g->y, g->z}; - int size = 6; - jshortArray jShorts = (*env)->NewShortArray(env, size); - (*env)->SetShortArrayRegion(env, jShorts, 0, size, calibration); - return jShorts; -} \ No newline at end of file diff --git a/cpp/wiiusej/wiiusej_Speaker.c b/cpp/wiiusej/wiiusej_Speaker.c deleted file mode 100644 index c795649..0000000 --- a/cpp/wiiusej/wiiusej_Speaker.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "wiiusej_WiiUseApi.h" -#include "speaker.h" -#include "wiiuse.h" - -static wiimote** wiimotes; -static int nbMaxWiimotes; - -/* -void test(struct wiimote_t* wm) { - int i; - byte data[20] = { - 0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3, - 0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3}; - wiiuse_speaker_activate(wm); - for (i = 0; i < 50; ++i) { - wiiuse_speaker_data(wm, data); - } - wiiuse_speaker_deactivate(wm); -}*/ - -JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_activateSpeaker -(JNIEnv *env, jobject obj, jint id) { - wiiuse_speaker_activate(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id)); -} - -JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_deactivateSpeaker -(JNIEnv *env, jobject obj, jint id) { - wiiuse_speaker_deactivate(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id)); -} -/* -void testen(struct wiimote_t* wm, unsigned short freq) { - if (freq > 0x0000) { - cfg[2] = freq & 0x00ff; - cfg[3] = (freq & 0xff00) >> 8; - } - printf("unaangepast %d\n", freq); - printf("speaker 0x%02x%02x\n", cfg[2], cfg[3]); - fflush(stdout); - wiiuse_write_data(wm, WM_REG_SPEAKER, cfg, 9); -}*/ - - -JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_setSpeakerFrequency -(JNIEnv *env, jobject obj, jint id, jint freq) { - wiiuse_speaker_frequency(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), (unsigned short) freq); - //short a = ((short) freq) & 0xffff; - //printf("jni %d %d\n", freq, a); - //fflush(stdout); - //testen(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), (unsigned short) freq); -} - -JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_setSpeakerVolume -(JNIEnv *env, jobject obj, jint id, jshort vol) { - wiiuse_speaker_frequency(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), vol); -} - - -JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_streamSpeakerData -(JNIEnv *env, jobject obj, jint id, jshortArray sArray) { - int i = 0; - jshort *jShorts = (*env)->GetShortArrayElements(env, sArray, JNI_FALSE); - byte data[sizeof(jShorts)]; - for (i = 0; i < sizeof(jShorts); ++i) { - data[i] = (byte) jShorts[i]; - } - wiiuse_speaker_data(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), data); - (*env)->ReleaseShortArrayElements(env, sArray, jShorts, JNI_FALSE); -} \ No newline at end of file diff --git a/cpp/wiiusej/wiiusej_WiiUseApi.c b/cpp/wiiusej/wiiusej_WiiUseApi.c index d5215ae..9c2913e 100644 --- a/cpp/wiiusej/wiiusej_WiiUseApi.c +++ b/cpp/wiiusej/wiiusej_WiiUseApi.c @@ -401,7 +401,6 @@ JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_windowsSetBluetoothStack */ JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_specialPoll (JNIEnv *env, jobject obj, jobject gath) { - /* Variables Declarations */ int i, a; short leds = 0; @@ -410,6 +409,7 @@ JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_specialPoll struct nunchuk_t* nc; struct guitar_hero_3_t* gh; struct classic_ctrl_t* cl; + //printf("avant poll, nbMaxwiimotes : %i \n",nbMaxWiimotes); if (wiiuse_poll(wiimotes, nbMaxWiimotes)) { /* @@ -668,4 +668,81 @@ JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_specialPoll } } } +} + +JNIEXPORT jshortArray JNICALL Java_wiiusej_WiiUseApi_getCalibration +(JNIEnv *env, jobject obj, jint id) { + struct wiimote_t wm = *wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id); + jshort calibration[6] = { + wm.accel_calib.cal_zero.x, + wm.accel_calib.cal_zero.y, + wm.accel_calib.cal_zero.z, + wm.accel_calib.cal_g.x, + wm.accel_calib.cal_g.y, + wm.accel_calib.cal_g.z}; + jshortArray jShorts = (*env)->NewShortArray(env, 6); + (*env)->SetShortArrayRegion(env, jShorts, 0, 6, calibration); + return jShorts; +} + +#include "speaker.h" +/* +void test(struct wiimote_t* wm) { + int i; + byte data[20] = { + 0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3, + 0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3}; + wiiuse_speaker_activate(wm); + for (i = 0; i < 50; ++i) { + wiiuse_speaker_data(wm, data); + } + wiiuse_speaker_deactivate(wm); +}*/ + +JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_activateSpeaker +(JNIEnv *env, jobject obj, jint id) { + wiiuse_speaker_activate(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id)); +} + +JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_deactivateSpeaker +(JNIEnv *env, jobject obj, jint id) { + wiiuse_speaker_deactivate(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id)); +} +/* +void testen(struct wiimote_t* wm, unsigned short freq) { + if (freq > 0x0000) { + cfg[2] = freq & 0x00ff; + cfg[3] = (freq & 0xff00) >> 8; + } + printf("unaangepast %d\n", freq); + printf("speaker 0x%02x%02x\n", cfg[2], cfg[3]); + fflush(stdout); + wiiuse_write_data(wm, WM_REG_SPEAKER, cfg, 9); +}*/ + + +JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_setSpeakerFrequency +(JNIEnv *env, jobject obj, jint id, jint freq) { + wiiuse_speaker_frequency(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), (unsigned short) freq); + //short a = ((short) freq) & 0xffff; + //printf("jni %d %d\n", freq, a); + //fflush(stdout); + //testen(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), (unsigned short) freq); +} + +JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_setSpeakerVolume +(JNIEnv *env, jobject obj, jint id, jshort vol) { + wiiuse_speaker_frequency(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), vol); +} + +JNIEXPORT void JNICALL Java_wiiusej_WiiUseApi_streamSpeakerData +(JNIEnv *env, jobject obj, jint id, jshortArray sArray) { + int i = 0; + jshort *jShorts = (*env)->GetShortArrayElements(env, sArray, JNI_FALSE); + byte data[sizeof(jShorts)]; + for (i = 0; i < sizeof(jShorts); ++i) { + data[i] = (byte) jShorts[i]; + } + wiiuse_speaker_data(wiiuse_get_by_id(wiimotes, nbMaxWiimotes, id), data); + (*env)->ReleaseShortArrayElements(env, sArray, jShorts, JNI_FALSE); } \ No newline at end of file diff --git a/java/native/WiiUseJ.dll b/java/native/WiiUseJ.dll index 2f48ea0..a7a3a68 100644 Binary files a/java/native/WiiUseJ.dll and b/java/native/WiiUseJ.dll differ diff --git a/java/wiiuse.dll b/java/wiiuse.dll index 3a4b6bb..70975d1 100644 Binary files a/java/wiiuse.dll and b/java/wiiuse.dll differ