//from https://stackoverflow.com/questions/64722413/force-webpage-dom-wait-on-promise
initPage();
async function initPage() {
console.log('initializing page...');
const wasmExports = await initWasm();
renderPageContent(wasmExports);
}
Controlled environment with LED, right on edge. | |
POST 0: 5 (55ab) - 48 fc 30 e1 ad da c4 39 f0 | |
POST 0: 5 (55b1) - 48 fc 40 a7 b2 30 de db f9 | |
POST 0: 5 (55b7) - 48 fc db 6d b7 18 46 82 1c | |
POST 0: 5 (55ba) - 48 fc 2a 34 bc 56 8d a2 f1 | |
POST 0: 5 (55c0) - 48 fb fd f9 c0 7b 6b a8 0c | |
POST 0: 5 (55c3) - 48 fc 21 c0 c5 55 28 20 d3 | |
POST 0: 5 (55c8) - 48 fc e3 85 ca 0f c6 8f 38 | |
POST 0: 5 (55ce) - 48 fc c8 4b cf 70 e8 5c 50 |
So, the way this goes is I post my AVR code, then I post what the HTC Vive does. | |
The output is: POST 0: (# of bytes) (IMU Timecode MSBs) (All raw light data) | |
(All raw light data ends with [3 bytes, LSB timecode] [OTA CRC (probably ignore)]) | |
Events (TIME): (LED CODE 1)/(TIME CODE 1/TIMECODE 2)/(LED CODE 2)/(TIME CODE 3/TIMECODE 4)... | |
//NOTICE: The funky encoding of the numbers, and the fact that paramters are read from the end of the data going forward. | |
//We know we're done when the # of parameters read is (# of bytes left*2)-1 |
/dts-v1/; /plugin/; | |
/ { | |
// compatible = "allwinner,sun50i-h5-mali", | |
// "arm,mali-450";// "allwinner,sun50i-h5"; | |
fragment@0 { | |
target-path = "/"; | |
__overlay__ { |
/* | |
Copyright (c) 2012, Broadcom Europe Ltd | |
All rights reserved. | |
Redistribution and use in source and binary forms, with or without | |
modification, are permitted provided that the following conditions are met: | |
* Redistributions of source code must retain the above copyright | |
notice, this list of conditions and the following disclaimer. | |
* Redistributions in binary form must reproduce the above copyright | |
notice, this list of conditions and the following disclaimer in the |
*PPD-Adobe: "4.3" | |
*%============================================================================= | |
*% | |
*% PPD file for Kyocera EP C170N (English) | |
*% Linux Version | |
*% | |
*% Copyright (C) 2000 KYOCERA CORPORATION. | |
*% Copyright (C) 2007 Revised Edition KYOCERA MITA CORPORATION. | |
*% | |
*% Permission is granted for redistribution of this file as long as this |
parse-edid | |
Checksum Correct | |
Section "Monitor" | |
Identifier "HTC-VIVE" | |
ModelName "HTC-VIVE" | |
VendorName "HVR" | |
# Monitor Model Year: 2016 | |
# EDID version 1.3 |
printf( "Conv: \n" ); | |
struct HmdMatrix34_t mzerotoabs = cnovrstate->oSystem->GetRawZeroPoseToStandingAbsoluteTrackingPose(); | |
printf( "%f %f %f %f\n", PFFOUR( mzerotoabs.m[0] ) ); | |
printf( "%f %f %f %f\n", PFFOUR( mzerotoabs.m[1] ) ); | |
printf( "%f %f %f %f\n", PFFOUR( mzerotoabs.m[2] ) ); | |
cnovr_pose pstanding; | |
matrix44_to_pose( &pstanding, &mzerotoabs.m[0][0] ); | |
printf( "%f %f %f %f %f %f %f %f\n", PFTHREE( pstanding.Pos ), PFFOUR( pstanding.Rot ), pstanding.Scale ); |
#include "touch.h" | |
#include "systems.h" | |
uint8_t touch_calib[3]; | |
uint8_t done_startup; | |
//DO_PD means we use the internal pull-down resistors to measure the capacitance | |
//if we define this to be 0, then it will use the internal pull-up resistors. | |
//I am still experimenting with both options to see which is better overall and | |
//in a lot of situations. |
Having a hard time getting the timings you want working? Try this. | |
config.txt: | |
Then execute this command (or put it in rc.local) | |
vcgencmd hdmi_timings 2880 0 55 10 55 1600 0 30 6 570 0 0 0 90 0 593000000 3 && tvservice -e "DMT 87" && tvservice -s |
//from https://stackoverflow.com/questions/64722413/force-webpage-dom-wait-on-promise
initPage();
async function initPage() {
console.log('initializing page...');
const wasmExports = await initWasm();
renderPageContent(wasmExports);
}