func readEvents(m *manager, e []Event) (n int, err error) { num := len(e) types := make([]C.int32_t, num) timestamps := make([]C.int64_t, num) vectors := make([]C.float, 3*num) n = int(C.GoAndroid_readQueue( m.m.looperId, m.m.queue, C.int(num), (*C.int32_t)(unsafe.Pointer(&types[0])), (*C.int64_t)(unsafe.Pointer(×tamps[0])), (*C.float)(unsafe.Pointer(&vectors[0]))), ) for i := 0; i < n; i++ { e[i] = Event{ Sensor: intToType[int(types[i])], Timestamp: int64(timestamps[i]), Data: []float64{ float64(vectors[i*3]), float64(vectors[i*3+1]), float64(vectors[i*3+2]), }, } } return }
func readEvents(e []Event) int { num := len(e) types := make([]C.int32_t, num) timestamps := make([]C.int64_t, num) vectors := make([]C.float, 3*num) n := int(C.GoAndroid_readQueue( C.int(num), (*C.int32_t)(unsafe.Pointer(&types[0])), (*C.int64_t)(unsafe.Pointer(×tamps[0])), (*C.float)(unsafe.Pointer(&vectors[0]))), ) for i := 0; i < n; i++ { e[i] = Event{ Sensor: intToType[int(types[i])], Timestamp: int64(timestamps[i]), Data: []float64{ float64(vectors[i*3]), float64(vectors[i*3+1]), float64(vectors[i*3+2]), }, } } return n }