// int javax.darjeeling.sensors.ADC.read(short) void javax_darjeeling_sensors_ADC_int_read_short() { dj_exec_stackPopShort(); // No ADCs. dj_exec_createAndThrow(BASE_CDEF_java_lang_IndexOutOfBoundsException); }
// int javax.darjeeling.Darjeeling.getNodeId() void javax_darjeeling_Darjeeling_int_getNodeId() { #ifdef IS_COOJA dj_exec_stackPushInt(node_id); #else dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); #endif }
void javax_darjeeling_Darjeeling_int_getNodeId() { #ifdef NODEID dj_exec_stackPushInt(NODEID); #else // dj_exec_stackPushInt(TOS_NODE_ID); dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); #endif }
// void javax.darjeeling.actuators.Leds.set(short, boolean) void javax_darjeeling_actuators_Leds_void_set_short_boolean() { uint16_t on = dj_exec_stackPopShort(); uint16_t nr = dj_exec_stackPopShort(); // Check for out-of-bounds if (nr>=0 && nr<NUM_VIRTUAL_LEDS) nesc_setLed(nr, on); else dj_exec_createAndThrow(BASE_CDEF_java_lang_IndexOutOfBoundsException); }
void javax_wukong_wkpf_WKPF_void_registerWuClass_short_byte__() { dj_int_array *byteArrayProperties = REF_TO_VOIDP(dj_exec_stackPopRef()); // check null if (byteArrayProperties==nullref){ dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); } uint16_t wuclass_id = (uint16_t)dj_exec_stackPopShort(); DEBUG_LOG(DBG_WKPF, "WKPF: Registering virtual wuclass with id %x\n", wuclass_id); wkpf_error_code = wkpf_register_virtual_wuclass(wuclass_id, NULL, byteArrayProperties->array.length, (uint8_t *)byteArrayProperties->data.bytes); }
// void javax.darjeeling.Darjeeling.printBytesAsString(byte[]) void javax_darjeeling_Darjeeling_void_printBytesAsString_byte__() { dj_int_array* byteStr = REF_TO_VOIDP(dj_exec_stackPopRef()); // check null if (byteStr==nullref) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); } //nesc_printf(byteStr->data.bytes); if (nesc_printf(byteStr->data.bytes)==0) blockThreadForPrintf(); }
// void javax.ostfriesentee.Ostfriesentee._print(java.lang.String) void javax_ostfriesentee_Ostfriesentee_void__print_java_lang_String() { // Pop string object from the stack. BASE_STRUCT_java_lang_String * stringObject = (BASE_STRUCT_java_lang_String*)REF_TO_VOIDP(dj_exec_stackPopRef()); if (stringObject == NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); return; } // Get byte array dj_int_array * byteArray = (dj_int_array*)REF_TO_VOIDP(stringObject->value); if (byteArray == NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); return; } write(1, byteArray->data.bytes, stringObject->count); }
// void javax.ostfriesentee.Ostfriesentee._print(byte[]) void javax_ostfriesentee_Ostfriesentee_void__print_byte__() { // Get byte array dj_int_array * byteArray = (dj_int_array*)REF_TO_VOIDP(dj_exec_stackPopRef()); if (byteArray == NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); return; } write(1, byteArray->data.bytes, byteArray->array.length); }
// void javax.darjeeling.Darjeeling.print(byte[]) void javax_darjeeling_Darjeeling_void_print_byte__() { int i; dj_int_array * byteArray = REF_TO_VOIDP(dj_exec_stackPopRef()); // check null if (byteArray==nullref) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); } char temp[byteArray->array.length]; for (i = 0; i < byteArray->array.length; i ++) { temp[i] = byteArray->data.bytes[i]; } if (nesc_printf(temp)==0) blockThreadForPrintf(); }
void javax_darjeeling_Darjeeling_void__print_java_lang_String() { // Pop string object from the stack. BASE_STRUCT_java_lang_String * stringObject = (BASE_STRUCT_java_lang_String*)REF_TO_VOIDP(dj_exec_stackPopRef()); if (stringObject == NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); return; } // Get byte array dj_int_array * byteArray = (dj_int_array*)REF_TO_VOIDP(stringObject->value); if (byteArray == NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_NullPointerException); return; } for (int i=0; i<byteArray->array.length; i++) printf("%c", byteArray->data.bytes[i]); }
// byte[] javax.radio.Radio._readBytes() void javax_radio_Radio_byte____readBytes() { int length = tossim_peekMessageLength(); dj_int_array * arr = dj_int_array_create(T_BYTE, length); if (arr==NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_OutOfMemoryError); return; } void * data = tossim_popMessageBuffer(); if (data==NULL) { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); return; } memcpy(arr->data.bytes, data, length); dj_exec_stackPushRef(VOIDP_TO_REF(arr)); //avoid deadlocks }
void java_lang_Object_java_lang_String_toString() { // Don't pop, just peek the object reference off the runtime stack, // because it's cleared by the VM's frame management. dj_object * obj = REF_TO_VOIDP(dj_exec_stackPeekRef()); // Get class definition runtime_id_t classRuntimeId = dj_mem_getChunkId(obj); dj_global_id classGlobalId = dj_vm_getRuntimeClass(dj_exec_getVM(), classRuntimeId); // Get class name dj_di_pointer classDefinition = dj_global_id_getClassDefinition(classGlobalId); dj_local_id classNameLocalId = dj_di_classDefinition_getClassName(classDefinition); dj_global_id classNameGlobalId = dj_global_id_resolve(classGlobalId.infusion, classNameLocalId); dj_object * string = dj_jstring_createFromGlobalId(dj_exec_getVM(), classNameGlobalId); if (string==NULL) dj_exec_createAndThrow(BASE_CDEF_java_lang_OutOfMemoryError); else dj_exec_stackPushRef(VOIDP_TO_REF(string)); }
// void javax.darjeeling.radio.Radio._init(int) void javax_darjeeling_radio_Radio_void__init_int() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// boolean javax.darjeeling.radio.Radio._send(short, byte[]) void javax_darjeeling_radio_Radio_boolean__send_short_byte__() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// void javax.darjeeling.radio.Radio._broadcast(byte[]) void javax_darjeeling_radio_Radio_void__broadcast_byte__() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// short javax.darjeeling.radio.Radio.getMaxMessageLength() void javax_darjeeling_radio_Radio_short_getMaxMessageLength() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// void javax.darjeeling.radio.Radio.setOutputPower(short) void javax_darjeeling_radio_Radio_void_setOutputPower_short() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// byte javax.darjeeling.sensors.ADC.getResolution(short) void javax_darjeeling_sensors_ADC_byte_getResolution_short() { // No ADCs. dj_exec_createAndThrow(BASE_CDEF_java_lang_IndexOutOfBoundsException); }
// int javax.darjeeling.Darjeeling.getSolarVoltage() void javax_darjeeling_Darjeeling_int_getSolarVoltage() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// void javax.darjeeling.radio.Radio._waitForMessage() void javax_darjeeling_radio_Radio_void__waitForMessage() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// int javax.darjeeling.Darjeeling.getBoardTemperature() void javax_darjeeling_Darjeeling_int_getBoardTemperature() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// byte javax.darjeeling.radio.Radio._getNumMessages() void javax_darjeeling_radio_Radio_byte__getNumMessages() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// int javax.darjeeling.Darjeeling.getADC(short) void javax_darjeeling_Darjeeling_int_getADC_short() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }
// short javax.darjeeling.radio.Radio.getLastChannel() void javax_darjeeling_radio_Radio_short_getLastChannel() { dj_exec_createAndThrow(BASE_CDEF_java_lang_VirtualMachineError); }