Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 07:34
4e1eba8

1.2.0 (2026-10-15)

✨ 新功能

  • device: read the panel project id from the display driver OTP (64a0dd1)
  • runtime: route pen status, BT pressure and master-less frames to the TSACore solver (2489d55)
  • tools: EGoTouchRecorder (c62aea3)
  • touch: feed stylus frame state, pen report and pen session into TSACore (bee1158)
  • touch: plug TSACore into the runtime; align AFE read and panel power handling with the stock driver (8345c26)
  • touch: replicate the full TSACore finger pipeline (e937963)
  • TouchSolver/raw: expose the full algorithm state for replay comparison (a18f293)
  • TouchSolver/raw: reconstruct and compile 73 TSACore algorithm C sources cleanly under Clang -O3 (6f69f21)
  • TouchSolver/raw: restore the TSA_ASAProcess shell behind a host stylus report bridge (1134833)
  • TouchSolver: add decompiled TSACore finger pipeline, analysis docs, and C++ reconstruction headers (d6886df)
  • TsaRawReplay: compare the whole TSACore state against a reference build (16a576e)
  • TsaRawReplay: print tilt intermediates, IIR speed/coefficient and recorded BT pressure on STY lines (2dd25d9)
  • TsaRawReplay: replay pen paths with a synthetic pen or the real StylusPipeline (ccb410f)

🐛 修复

  • stylus: restore the ASA IIR coefficients and interpolation span (b59f67d)
  • stylus: take the tilt length and ratio table from the ASA flash parameters (2e4ba7e)
  • touch: hand the stylus tilt to TSACore without negating it (8055285)
  • TouchSolver/raw: separate the two g_lastStylusTimeStamp statics and correct the AsaOut status offset (178627b)
  • tsacore raw: prune the CMF 2D/PCA filter (76b381d)
  • tsacore raw: read the slot-1 tuning block behind pDim1PitchMap with 8-byte elements (4b8c027)
  • tsacore raw: read the stylus XY correction constants as floats (8077ad0)
  • tsacore raw: restore the float math of the TZ contour interpolation (a6fcd8b)
  • tsacore raw: round the 3/4 lower bounds of the threshold entries toward zero (6121110)
  • tsacore raw: write the touch-mode debounce entries as 16-bit (afd0ae2)
  • tsacore: read the AFE scan-rate parameters from the right FlashPrmt offsets (0b01291)
  • TsaRawReplay: keep the recording probe of a coverage run from writing default.profraw into the repo (9d15519)
  • TsaRawReplay: run the stylus scenario for every recording and accept comma-separated recording lists (54783ef)

⚡ 性能

  • tools: cache reference replays and run comparisons in parallel (cfb5294)
  • tools: compare outputs only, on three scenarios by default (252e955)
  • tsacore: batch CMF clustering runs; unconditional per-cell updates (2608414)
  • tsacore: branchless flat mask and local cluster state in CMF NoiseCal (b546d4c)
  • tsacore: compute only what is read in raw2raw, contour, Self and Property (f4a3369)
  • tsacore: drop write-only TZ morphology and CMF side outputs (d08f486)
  • tsacore: hoist flash parameters, screen peak rows, memoize contour samples (bb1f06d)
  • tsacore: row-level contour memo, narrower Property scans, chunked lookups (5e2da20)
  • tsacore: screen sensor-broken Dif checks per 16-cell chunk (f6632b5)
  • tsacore: step profiling and a branchless Self::Process (91fa36e)
  • tsacore: time the whole frame without per-step timer overhead (e571d39)
  • tsacore: vectorizable per-cell timers in TSABuffer; bench the Release build (412148f)

♻️ 重构

  • make TSACore the only finger solver; drop EGoTouchApp and the old tests (3bc8d07)
  • tsacore: drop specialControlFlags and the Raw naming (6de9e97)
  • tsacore: name the fieldXXX members, drop write-only ones (187ecaf)
  • tsacore: replace the memory image with C++ state objects (230e4f4)
  • tsacore: retire the raw C layer (a200784)
  • tsacore: rewrite anti-touch rejection (AntiTouch) in C++ (e281312)
  • tsacore: rewrite MISC and the state registry in C++ (7d10ea9)
  • tsacore: rewrite peak detection and the peak tables in C++ (1943f20)
  • tsacore: rewrite stylus palm rejection (StylusAft) in C++ (8e3603e)
  • tsacore: rewrite the AFE interface and scan scheduling in C++ (6f7e06e)
  • tsacore: rewrite the ASA stylus bridge in C++ (1c2ce26)
  • tsacore: rewrite the baseline in C++ (28709d4)
  • tsacore: rewrite the binary-image morphology (Image) in C++ (eed20b5)
  • tsacore: rewrite the centroid and edge correction (CTD) in C++ (9d0d267)
  • tsacore: rewrite the common mode filter in C++ (5f8fa75)
  • tsacore: rewrite the coordinate filter and touch mode in C++ (6ae539c)
  • tsacore: rewrite the edge recovery (ER) in C++ (ae85818)
  • tsacore: rewrite the exception state machine (Exception, FIException) in C++ (328399c)
  • tsacore: rewrite the grid buffers and module allocation in C++ (1b6fb27)
  • tsacore: rewrite the grip filter (GripFilter) in C++ (3058259)
  • tsacore: rewrite the grip hand gesture (HandGesture) in C++ (f14727f)
  • tsacore: rewrite the hardware analyzer in C++ (269d031)
  • tsacore: rewrite the hot-zone touch adjustment (HotZoneAdjust) in C++ (bd38b3a)
  • tsacore: rewrite the inner-corner signal ratio (TouchZone) in C++ (17c0b0f)
  • tsacore: rewrite the parameter tables in C++ (5c06a86)
  • tsacore: rewrite the per-cell zone queries (Sensor) in C++ (e139b94)
  • tsacore: rewrite the per-frame property statistics in C++ (ba69dd5)
  • tsacore: rewrite the RF noise detection (RFNoise) in C++ (5d54389)
  • tsacore: rewrite the self data, grid IIR, rawdata and line filters in C++ (9bedc1e)
  • tsacore: rewrite the sign-split cell list (PosnSpecial) in C++ (72975ef)
  • tsacore: rewrite the static state, output, MS idle and data switch in C++ (095a53f)
  • tsacore: rewrite the sub touch zones (SubTZ) in C++ (c95992c)
  • tsacore: rewrite the touch action (TouchAction) in C++ (b36bcc7)
  • tsacore: rewrite the touch event state machine (TE) in C++ (bf19901)
  • tsacore: rewrite the touch ID tracking (IDT) in C++ (9a05047)
  • tsacore: rewrite the touch report decision (TouchReport) in C++ (60df064)
  • tsacore: rewrite the touch size (TS) in C++ (b88bf4a)
  • tsacore: rewrite the touch tables (TouchData / PrevTouchData) in C++ (f700db7)
  • tsacore: rewrite the touch thresholds (TouchThold) in C++ (56c9407)
  • tsacore: rewrite the touch zones (TZ) in C++ (5377c28)
  • tsacore: rewrite the touch-down / lift-off debounce (DB) in C++ (b742d55)
  • tsacore: rewrite the TP sensor correction in C++ (b63794c)
  • tsacore: rewrite the TSA pipeline, scenarios and report API in C++ (75000ac)
  • tsacore: rewrite thenar / side palm detection (Thenar) in C++ (5934c60)
  • tsacore: start the C++ rewrite with the math and IIR helpers (ee2a6e7)

📝 文档

  • finger_algorithms: add the TSACore raw integration plan and status (d311d35)
  • finger_algorithms: describe the stylus state seam into TSACore (e0e9fe4)
  • tsacore: describe the reference comparison and the C++ rewrite rules (5b3beaf)
  • tsacore: performance, profiling and benchmark section (f914496)