diff --git a/lib/wiiuse.lib b/lib/wiiuse.lib index 93409c6..f477ac8 100644 Binary files a/lib/wiiuse.lib and b/lib/wiiuse.lib differ diff --git a/msvc/WiiUseJ.suo b/msvc/WiiUseJ.suo index 1032800..e8c9e85 100644 Binary files a/msvc/WiiUseJ.suo and b/msvc/WiiUseJ.suo differ diff --git a/msvc/WiiUseJ.vcxproj b/msvc/WiiUseJ.vcxproj index ea82aed..c53d198 100644 --- a/msvc/WiiUseJ.vcxproj +++ b/msvc/WiiUseJ.vcxproj @@ -88,12 +88,9 @@ - - - diff --git a/msvc/WiiUseJ.vcxproj.filters b/msvc/WiiUseJ.vcxproj.filters index 380ac77..5bb53f7 100644 --- a/msvc/WiiUseJ.vcxproj.filters +++ b/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/wiiusej_Calibration.c b/wiiusej_Calibration.c deleted file mode 100644 index 2456fee..0000000 --- a/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/wiiusej_Speaker.c b/wiiusej_Speaker.c deleted file mode 100644 index c795649..0000000 --- a/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/wiiusej_WiiUseApi.c b/wiiusej_WiiUseApi.c index d5215ae..9c2913e 100644 --- a/wiiusej_WiiUseApi.c +++ b/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