@hmos-library-adapter/fast 0.0.17-beta.0 → 0.0.17-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -5
- package/agent/orchestrator.md +19 -10
- package/node_modules/@hmos-library/fix/src/cli.js +1 -1
- package/node_modules/@hmos-library-adapter/executer/README.md +2 -2
- package/node_modules/@hmos-library-adapter/executer/shared/flutter/prompts/upgrade/CLAUDE.md +1 -1
- package/node_modules/@hmos-library-adapter/executer/shared/flutter/prompts/upgrade/upgrade-01-analysis.md +30 -2
- package/node_modules/@hmos-library-adapter/executer/shared/flutter/prompts/upgrade/upgrade-02-coding.md +22 -8
- package/node_modules/@hmos-library-adapter/executer/shared/rn/prompts/upgrade/CLAUDE.md +1 -1
- package/node_modules/@hmos-library-adapter/executer/shared/rn/prompts/upgrade/upgrade-01-analysis.md +33 -5
- package/node_modules/@hmos-library-adapter/executer/shared/rn/prompts/upgrade/upgrade-02-coding.md +21 -7
- package/node_modules/@hmos-library-adapter/executer/shared/sdk/prompts/upgrade/CLAUDE.md +1 -1
- package/node_modules/@hmos-library-adapter/executer/shared/sdk/prompts/upgrade/upgrade-01-analysis.md +23 -20
- package/node_modules/@hmos-library-adapter/executer/shared/sdk/prompts/upgrade/upgrade-02-coding.md +24 -11
- package/node_modules/@hmos-library-adapter/executer/shared/skill-map.json +5 -1
- package/node_modules/@hmos-library-adapter/executer/shared/skills/arkts-rules/SKILL.md +400 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/CHANGELOG.md +1391 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/COMPATIBILITY.md +53 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/README.md +123 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/SKILL.md +48 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/agents/upgrade-assess-change.md +37 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/agents/upgrade-fix-file.md +23 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/package.json +19 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta1-changes-for-all-apps.md +1793 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta1-ux-style-and-effect-changes.md +288 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta2-changes-for-all-apps.md +148 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/release-changes-for-all-apps.md +662 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/beta3-os-api-behavior-changes.md +652 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/beta3-ux-style-and-effect-changes.md +222 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/release-os-api-behavior-changes.md +444 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/release-ux-style-and-effect-changes.md +221 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.2(14)/os-api-behavior-changes.md +1767 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.2(14)/ux-style-and-effect-changes.md +134 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta1-os-api-behavior-changes.md +430 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta1-ux-style-and-effect-changes.md +49 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta2-os-api-behavior-changes.md +240 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta2-ux-style-and-effect-changes.md +90 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/release-os-api-behavior-changes.md +69 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.1.0(18)/os-api-behavior-changes.md +1294 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.1.0(18)/ux-style-and-effect-changes.md +147 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta1-os-api-behavior-changes.md +1019 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta1-ux-style-and-effect-changes.md +153 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta2-os-api-behavior-changes.md +662 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta2-ux-style-and-effect-changes.md +78 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta3-os-api-behavior-changes.md +167 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta5-os-api-behavior-changes.md +52 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.1.0(23)/changes-for-all-apps.md +397 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs-index.json +883 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/arkts-coding-standards.md +53 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/compatibility.md +207 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/native-adaptation.md +21 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/runtime-functional-tests.md +62 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/sdk-versions.md +77 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/troubleshooting.md +54 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/verification.md +79 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/workflow-scan.md +41 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/context-migration.md +274 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/deprecated-api-adaptation.md +157 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/deprecated-api-examples.md +219 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/toolchain/hvigor.md +50 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/har-upgrade.md +60 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/scanner-missed-cases.md +171 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-compatibility.md +112 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-examples.md +289 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-workflow.md +122 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/references/generate-behavior-policy.mjs +96 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/references/references.mjs +9 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/compare-deprecated.mjs +57 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/compare-golden.mjs +130 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/regress-deprecated.mjs +120 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/behavior-catalog-generation.test.mjs +59 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/behavior-local-sources.test.mjs +44 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/changelog-index.test.mjs +66 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/compare-golden.test.mjs +103 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/fixtures/behavior/local-sources.csv +5 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/references.test.mjs +16 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/skill-content.test.mjs +139 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/skill-frontmatter.test.mjs +11 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/test-suite.test.mjs +65 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/skill-content.mjs +125 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/skill-frontmatter.mjs +6 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/validate-skill.mjs +57 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/CHANGELOG.md +506 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/GOLDEN_VALIDATION.md +42 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/README.md +137 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/behavior/behavior-policy.mjs +117 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/behavior/upgrade-coverage.mjs +29 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/bin/deveco-worker-compat.cjs +21 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/bin/harmony-api-scan.mjs +17 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/cli.mjs +416 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/deveco.mjs +348 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/project.mjs +81 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/rules.mjs +425 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/runtime-identity.mjs +23 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/scan-runner.mjs +521 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/sdk-deprecations.mjs +204 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/data/behavior-change-policy.json +4378 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/deprecated/arkts-deprecations.mjs +363 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/deprecated/build-log.mjs +72 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/native/native.mjs +95 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/package.json +16 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/batch-layout.test.mjs +94 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/behavior-policy.test.mjs +75 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/build-log.test.mjs +69 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/cli.test.mjs +102 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/csv.test.mjs +35 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/deprecations.test.mjs +283 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/deveco.test.mjs +262 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/helpers/scan-batch.mjs +10 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/native.test.mjs +108 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/project.test.mjs +42 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/rules.test.mjs +190 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/runtime-identity.test.mjs +53 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-mode.test.mjs +38 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-runner.test.mjs +481 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-scope.test.mjs +110 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/source-inputs.test.mjs +64 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/upgrade.test.mjs +164 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/args.mjs +66 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/csv.mjs +85 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/json5.mjs +92 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/upgrade-results.mjs +45 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/zip.mjs +87 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/io/fs-utils.mjs +60 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/artifact-layout.mjs +74 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/changelog-index.mjs +29 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/deveco-version.mjs +40 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/document-links.mjs +30 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/errors.mjs +41 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/fs.mjs +72 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/paths.mjs +34 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/process.mjs +154 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-mode.mjs +7 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-statistics.mjs +7 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-version-catalog.json +43 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-versions.mjs +51 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/sdk-layout.mjs +27 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/source-scope.mjs +108 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/source-types.mjs +7 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/version.mjs +76 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/deveco-version.test.mjs +50 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/document-links.test.mjs +13 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/errors.test.mjs +40 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/fs-utils.test.mjs +31 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/platform-paths.test.mjs +19 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/process-utils.test.mjs +68 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/scan-versions.test.mjs +26 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/sdk-version.test.mjs +17 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/upgrade-results.test.mjs +140 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/test-suite.mjs +29 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/deprecated-report.md +86 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/progress.md +150 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/results.md +110 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-report.md +105 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-spec.md +58 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-test-report.md +47 -0
- package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-knowledge/SKILL.md +70 -0
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-flutter/CLAUDE.md +1 -1
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-flutter/prompts/upgrade-01-analysis.md +30 -2
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-flutter/prompts/upgrade-02-coding.md +22 -8
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-rn/CLAUDE.md +1 -1
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-rn/prompts/upgrade-01-analysis.md +33 -5
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-rn/prompts/upgrade-02-coding.md +21 -7
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-sdk/CLAUDE.md +1 -1
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-sdk/prompts/upgrade-01-analysis.md +23 -20
- package/node_modules/@hmos-library-adapter/executer/shared/upgrade-sdk/prompts/upgrade-02-coding.md +24 -11
- package/node_modules/@hmos-library-adapter/executer/src/cli.js +1 -1
- package/node_modules/@hmos-library-adapter/executer/src/config.js +3 -4
- package/node_modules/@hmos-library-adapter/executer/src/doctor.js +1 -1
- package/node_modules/@hmos-library-adapter/executer/src/install.js +1 -1
- package/node_modules/@hmos-library-adapter/executer/src/paths.js +4 -4
- package/node_modules/@ohos-agent/pc-adapter/.claude-plugin/marketplace.json +24 -0
- package/node_modules/@ohos-agent/pc-adapter/.claude-plugin/plugin.json +15 -0
- package/node_modules/@ohos-agent/pc-adapter/README.md +271 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/pc-01-analyze.md +115 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/pc-02-dev-test-cases.md +117 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/pc-03-dev-adapt-code.md +119 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/pc-03-dev-verify.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/pc-04-summary.md +97 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/pc-adapter.md +130 -0
- package/node_modules/@ohos-agent/pc-adapter/agents/qt5-compat-fixer.md +253 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/agent-cli.js +3108 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/claude-progress.mjs +19 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/cli.js +301 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/hub-embed.js +18664 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/opencode-progress.js +20 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/opencode-tui.tsx +68 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/plugin.js +18663 -0
- package/node_modules/@ohos-agent/pc-adapter/dist/validate-on-write.mjs +646 -0
- package/node_modules/@ohos-agent/pc-adapter/hooks/hooks.json +173 -0
- package/node_modules/@ohos-agent/pc-adapter/opencode/agents.json +80 -0
- package/node_modules/@ohos-agent/pc-adapter/package.json +108 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/SKILL.md +148 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/README_zh.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate/other_language//343/200/220Go/350/257/255/350/250/200/343/200/221/345/272/224/347/224/250/345/274/200/345/217/221/346/214/207/345/257/274.md +15 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate/other_language//343/200/220Pascal/350/257/255/350/250/200/343/200/221FPC/344/272/244/345/217/211/347/274/226/350/257/221/347/216/257/345/242/203/346/220/255/345/273/272.md +103 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate/readme.md +4 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/344/270/211/346/226/271/345/272/223/343/200/221/345/274/200/346/272/220/344/270/211/346/226/271/345/272/223/346/214/207/345/257/274/346/226/207/346/241/243.md +25 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/344/270/211/346/226/271/345/272/223/351/270/277/350/222/231/345/214/226/350/277/201/347/247/273/345/267/245/345/205/267/343/200/221/346/261/207/346/200/273.md +22 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/345/221/275/344/273/244/350/241/214/343/200/221/345/274/200/346/272/220/345/221/275/344/273/244/350/241/214/346/261/207/346/200/273.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/343/200/221Electron/350/265/204/346/272/220/346/261/207/346/200/273.md +115 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/343/200/221Qt/350/265/204/346/272/220/346/261/207/346/200/273.md +107 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/350/277/220/350/241/214/346/227/266/343/200/221/345/274/200/346/272/220/350/277/220/350/241/214/346/227/266/346/261/207/346/200/273.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//343/200/220/351/270/277/350/222/231PC/345/274/200/346/272/220/345/272/224/347/224/250/343/200/221/345/274/200/346/272/220/345/272/224/347/224/250/346/261/207/346/200/273.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/aggregate//344/270/211/346/226/271/345/272/223.md +3 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide/c_c++/347/247/273/346/244/215/351/200/202/351/205/215/346/214/207/345/257/274.md +87 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide/js/347/247/273/346/244/215/351/200/202/351/205/215/346/214/207/345/257/274.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide/readme.md +1 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide//344/270/211/346/226/271/345/272/223/350/264/241/347/214/256/346/214/207/345/257/274-Agent-AtomCode/347/211/210.md +221 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide//344/270/211/346/226/271/345/272/223/350/264/241/347/214/256/346/214/207/345/257/274-Agent-OpenDesk/347/211/210.md +258 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/adapter-guide//345/221/275/344/273/244/350/241/214_C_C++/344/270/211/346/226/271/345/272/223/350/264/241/347/214/256/346/214/207/345/257/274.md +298 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/develop-guide//351/270/277/350/222/231/345/272/224/347/224/250/345/265/214/345/205/245Java/350/277/220/350/241/214/346/227/266-ArkTS/344/270/216JVM/346/267/267/345/220/210/345/274/200/345/217/221/345/256/236/346/210/230.md +609 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/develop-guide//351/270/277/350/222/231/345/272/224/347/224/250/345/265/214/345/205/245Node.js/350/277/220/350/241/214/346/227/266-ArkTS/344/270/216Node.js/346/267/267/345/220/210/345/274/200/345/217/221/345/256/236/346/210/230.md +748 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references/contribute/develop-guide//351/270/277/350/222/231/345/272/224/347/224/250/345/265/214/345/205/245Python/350/277/220/350/241/214/346/227/266-ArkTS/344/270/216CPython/346/267/267/345/220/210/345/274/200/345/217/221/345/256/236/346/210/230.md +617 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/harmonyos-pc-resources/references//350/265/204/346/272/220/346/225/264/347/220/206.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/SKILL.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-building.md +243 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-environment-setup.md +267 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-kernel.md +88 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-overview.md +180 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-porting.md +18 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/faqs/faqs-startup.md +290 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/get-code/gettools-acquire.md +242 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/get-code/gettools-overview.md +10 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/get-code/sourcecode-acquire.md +259 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-overview.md +177 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-small-apx-dll.md +124 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-small-apx-library.md +285 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-build.md +18 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-hck.md +144 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-overview.md +18 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/kernel/kernel-standard-patch.md +26 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/Readme-CN.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-chip-faqs.md +18 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-dayu200-on_standard-demo.md +3488 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-linux-kernel.md +317 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-smallchip-kernel-linux.md +119 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-smallchip-prepare-building.md +144 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-smallchip-prepare-needs.md +23 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-thirdparty-cmake.md +297 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-thirdparty-makefile.md +191 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-thirdparty-overview.md +4 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/porting-yangfan-on_standard-demo.md +1685 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/porting/standard-system-porting-guide.md +420 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/security-guidelines-overall.md +218 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-app-privilege-config-guide.md +183 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-appspawn.md +178 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-deviceboot.md +521 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-cfg.md +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-faqs.md +191 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-jobs.md +161 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-plugin.md +215 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-sandbox.md +173 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-seccomp.md +603 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-service.md +351 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-sysparam.md +578 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-init-ueventd.md +99 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-boot-overview.md +31 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-FAQ.md +112 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-all.md +357 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-bindgen-cxx-guide.md +423 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-cargo2gn-guide.md +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-chip_solution.md +95 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-component-building-rules.md +279 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-component.md +196 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-feature.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-gn-coding-style-and-best-practice.md +513 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-gn-hap-compilation-guide.md +335 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-gn-kconfig-visual-config-guide.md +114 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-module.md +549 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-product.md +337 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-reference.md +252 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-rust-compilation.md +368 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-rust-toolchain.md +171 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-subsystem.md +32 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-build-syscap.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-faultlogger.md +357 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hiappevent-extend-so.md +149 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hichecker.md +119 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hicollie.md +101 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hidumper.md +201 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hilog-lite.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hilog-rich.md +107 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hisysevent-logging.md +372 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hisysevent-overview.md +22 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hitracechain.md +240 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hitracemeter.md +354 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-hiview.md +197 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-dfx-overview.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-preinstall-app-config-guide.md +95 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-overview.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-check.md +1201 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-checklist.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-compile.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-develop-intro.md +118 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-faq.md +75 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-func.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-mcs.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-overview.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-domain.md +113 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-file.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-param.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-selinux-sample-sa.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-security-sigverify.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-toolchain-bytrace-guide.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-toolchain-hdc-guide.md +2718 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-toolchain-hiperf.md +363 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/openharmony-device-porting/references-full/subsystems/subsys-utils-guide.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/SKILL.md +87 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/app-permissions-lists.json +217 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/app-permissions.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/app-self-update.md +217 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/audio.md +91 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/clipboard.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/file-picker.md +399 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/00-overview.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/01-route-gles-vs-gl4es.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/02-imm-mode-font-menu.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/03-glu-cross-compile.md +17 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/04-verification-pitfalls.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gl-rendering/05-coordinate-contract.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/gpu-compute.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/graphical-window.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/input.md +25 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/media-capture.md +35 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/network.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/qt-toolchain.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/runtime-data-assets.md +176 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/serial-port.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/subprocess-exec.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/swing-jdk-gui.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/system-file-icon.md +116 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/sysv-ipc.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/terminal-render.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/terminal-runtime.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/terminal-tui.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/tray.md +43 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/capability-domains/usb-host.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/requirements/R001.kv +14 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/requirements/R002.kv +14 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/requirements/_template.kv +21 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/PORTING_NOTES.md +123 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/README.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/liba52/evidence.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohaudio-backend/libout123/ohaudio-module.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-libusb-ddk/api-mapping.md +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-libusb-ddk/evaluation.md +124 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-libusb-ddk/libusb-ndk-symbols.txt +21 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/ARCHITECTURE.md +418 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/README.md +89 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/arkts-host/OWBWindowControl.ets +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/arkts-host/README.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/docs/EXAMPLE-GLFW.md +288 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/docs/PORTING_KIT.md +120 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/gl-rendering-lib-host/README.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/gl-rendering-lib-host/cpp/CMakeLists-snippet.cmake +30 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/gl-rendering-lib-host/cpp/gl_rendering_host.cpp +226 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/README.md +25 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/cpp/CMakeLists.txt +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/cpp/glfw_triangle.cpp +200 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/examples/glfw-triangle/ets/Index.ets +33 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/include/ohos_window_bridge.h +197 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_napi.cpp +273 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_napi.h +35 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_ohos_app.h +75 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/napi/owb_ohos_python_app.h +92 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/src/bridge.c +604 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/templates/skeleton-backend/README.md +19 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-capability-domains/references/solutions/ohos-window-bridge/templates/skeleton-backend/skeleton_backend.c +107 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/SKILL.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/forms/app.md +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/java.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/node.md +98 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/python.md +245 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-delivery-forms/references/languages/rust.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/SKILL.md +260 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/channel-hishell.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/cli-batch-exec.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/domain-hdc-shell.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/failure-triage.md +164 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/hap-verify.md +231 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/python-verify.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/runner-script-wiring.md +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/references/terminal-buffer-assert.py +128 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/scripts/device_verify.py +206 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-device-verify/scripts/hishell_driver.sh +148 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/SKILL.md +123 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/error-index.json +12148 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/error-index.md +680 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E001.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E002.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E003.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E004.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E005.md +43 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E006.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E007.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E008.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E009.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E010.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E011.md +83 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E012.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E013.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E014.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E015.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E016.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E017.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E018.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E019.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E020.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E021.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E022.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E023.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E024.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E025.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E026.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E027.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E028.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E029.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E030.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E031.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E032.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E033.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E034.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E035.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E036.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E037.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E038.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E039.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E040.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E041.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E042.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E043.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E044.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E045.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E046.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E047.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E048.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E049.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E050.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E051.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E052.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E053.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E054.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E055.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E056.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E057.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E058.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E059.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E060.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E061.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E062.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E063.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E064.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E065.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E066.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E067.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E068.md +43 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E069.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E070.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E071.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E072.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E073.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E074.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E075.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E076.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E077.md +92 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E078.md +85 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E079.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E080.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E081.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E082.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E083.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E084.md +87 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E085.md +91 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E086.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E087.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E088.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E089.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E090.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E091.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E092.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E093.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E094.md +87 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E095.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E096.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E097.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E098.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E099.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E100.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E101.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E102.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E103.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E104.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E105.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E106.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E107.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E108.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E109.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E110.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E111.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E112.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E113.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E114.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E115.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E116.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E117.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E118.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E119.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E120.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E121.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E122.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E123.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E124.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E125.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E126.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E127.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E128.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E129.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E130.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E131.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E132.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E133.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E134.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E135.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E136.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E137.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E138.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E139.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E140.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E141.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E142.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E143.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E144.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E145.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E146.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E147.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E148.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E149.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E150.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E151.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E152.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E153.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E154.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E155.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E156.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E157.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E158.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E159.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E160.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E161.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E162.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E163.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E164.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E165.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E166.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E167.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E168.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E169.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E170.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E171.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E172.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E173.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E174.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E175.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E176.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E177.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E178.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E179.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E180.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E181.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E182.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E183.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E184.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E185.md +37 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E186.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E187.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E188.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E189.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E190.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E191.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E192.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E193.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E194.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E195.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E196.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E197.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E198.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E199.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E200.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E201.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E202.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E203.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E204.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E205.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E206.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E207.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E208.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E209.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E210.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E211.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E212.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E213.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E214.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E215.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E216.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E217.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E218.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E219.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E220.md +96 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E221.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E222.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E223.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E224.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E225.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E226.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E227.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E228.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E229.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E230.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E231.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E232.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E233.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E234.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E235.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E236.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E237.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E238.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E239.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E240.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E241.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E242.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E243.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E244.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E245.md +75 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E246.md +92 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E247.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E248.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E249.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E250.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E251.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E252.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E253.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E254.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E255.md +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E256.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E257.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E258.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E259.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E260.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E261.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E262.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E263.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E264.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E265.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E266.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E267.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E268.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E269.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E270.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E271.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E272.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E273.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E274.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E275.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E276.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E277.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E278.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E279.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E280.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E281.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E282.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E283.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E284.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E285.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E286.md +89 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E287.md +87 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E288.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E289.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E290.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E291.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E292.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E293.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E294.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E295.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E296.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E297.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E298.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E299.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E300.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E301.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E302.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E303.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E304.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E305.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E306.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E307.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E308.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E309.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E310.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E311.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E312.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E313.md +43 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E314.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E315.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E316.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E317.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E318.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E319.md +83 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E320.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E321.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E322.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E323.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E324.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E325.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E326.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E327.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E328.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E329.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E330.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E331.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E332.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E333.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E334.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E335.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E336.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E337.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E338.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E339.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E340.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E341.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E342.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E343.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E344.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E345.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E346.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E347.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E348.md +126 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E349.md +85 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E350.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E351.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E352.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E353.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E354.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E355.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E356.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E357.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E358.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E359.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E360.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E361.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E362.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E363.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E364.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E365.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E366.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E367.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E368.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E369.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E370.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E371.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E372.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E373.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E374.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E375.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E376.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E377.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E378.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E379.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E380.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E381.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E382.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E383.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E384.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E385.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E386.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E387.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E388.md +75 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E389.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E390.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E391.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E392.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E393.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E394.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E395.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E396.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E397.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E398.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E399.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E400.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E401.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E402.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E403.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E404.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E405.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E406.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E407.md +49 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E408.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E409.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E410.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E411.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E412.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E413.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E414.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E415.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E416.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E417.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E418.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E419.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E420.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E421.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E422.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E423.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E424.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E425.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E426.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E427.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E428.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E430.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E431.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E432.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E433.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E434.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E435.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E436.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E437.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E438.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E439.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E440.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E441.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E442.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E443.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E444.md +83 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E445.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E446.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E447.md +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E448.md +90 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E449.md +87 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E450.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E451.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E452.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E453.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E454.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E455.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E456.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E457.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E458.md +92 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E459.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E460.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E461.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E462.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E463.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E464.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E465.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E466.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E467.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E468.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E469.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E470.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E471.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E472.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E473.md +85 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E474.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E475.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E476.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E477.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E478.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E480.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E481.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E482.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E483.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E484.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E485.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E486.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E487.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E488.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E489.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E490.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E491.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E492.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E493.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E494.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E495.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E496.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E497.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E498.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E499.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E500.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E501.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E502.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E503.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E504.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E505.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E506.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E507.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E508.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E509.md +97 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E510.md +95 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E511.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E512.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E513.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E514.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E515.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E516.md +91 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E517.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E518.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E519.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E520.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E521.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E522.md +88 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E523.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E524.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E525.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E526.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E527.md +103 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E528.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E529.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E530.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E531.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E532.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E533.md +116 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E534.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E535.md +91 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E536.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E537.md +88 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E538.md +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E539.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E540.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E541.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E542.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E543.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/errors/E544.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L001.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L002.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L003.md +35 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L004.md +31 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L005.md +33 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L006.md +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L007.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L008.md +75 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L009.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L010.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L011.md +64 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L012.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L013.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L014.md +92 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L015.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L016.md +83 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L017.md +89 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L018.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L019.md +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L020.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L021.md +104 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L022.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L023.md +90 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L024.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L025.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L026.md +76 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L027.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L028.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L029.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L030.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L031.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L032.md +90 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L033.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L034.md +85 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L035.md +105 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L036.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L037.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L038.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L039.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L040.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L041.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L042.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L043.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L044.md +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L045.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L046.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L047.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L048.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L049.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L050.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L051.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L052.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L053.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L054.md +75 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L055.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L056.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L057.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L058.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L059.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L060.md +83 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L061.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L062.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L063.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/L064.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/local-errors/README.md +126 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/manifest.json +572 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/knowledge/principles.md +226 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/README.md +33 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/local-rules.yaml +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/pre_scan.py +615 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/prescan/prescan-rules.yaml +355 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/scripts/README.md +19 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/scripts/atlas-checklist.mjs +110 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-error-atlas/scripts/patch-autotools-ohos.pl +146 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/SKILL.md +399 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-C++/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/350/246/201/347/202/271.md +181 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CGAL/351/253/230/346/250/241/346/235/277/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/345/210/206/346/211/271/347/255/226/347/225/245.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CLI/350/260/203/350/257/225/345/231/250-autotools-autosetup/344/272/244/345/217/211/347/274/226/350/257/221.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CMake-FetchContent/345/244/232/344/273/223/345/272/223C++/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221.md +32 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CMake/345/256/277/344/270/273/344/273/243/347/240/201/347/224/237/346/210/220/345/267/245/345/205/267/344/272/244/345/217/211/347/274/226/350/257/221/346/233/277/344/273/243.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-CMocka/345/244/264/346/226/207/344/273/266uintptr_t/346/235/241/344/273/266/345/256/217/347/274/272__MUSL__/345/256/210/345/215/253/351/207/215/345/244/215/345/256/232/344/271/211.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-ClamAV/346/235/200/346/257/222/345/274/225/346/223/216CLI/347/234/237/346/234/272/351/200/202/351/205/215.md +88 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-C/345/272/223/350/256/276/345/244/207/351/252/214/350/257/201/346/265/213/350/257/225/350/256/276/350/256/241.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-GLFW/350/247/206/347/252/227/345/220/216/347/253/257-EGL-XComponent.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-GTK/345/272/224/347/224/250broadway-ArkWeb-HAP.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Java-JNI/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/345/233/236/345/275/222-jansi.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OHOS-NDK-clang15-C++/346/226/260/347/211/271/346/200/247/345/205/274/345/256/271/347/274/272/345/217/243/346/270/205/345/215/225.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OpenCL-SDK-app/345/237/237/351/200/202/351/205/215/350/241/245/345/205/205.md +88 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OpenCL-SDK-/351/200/202/351/205/215/350/246/201/347/202/271.md +144 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-OpenSSL/347/263/273/345/257/206/347/240/201/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221.md +127 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-POSIX/347/263/273C++/347/261/273/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/351/252/214/350/257/201.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-PixelTune-/345/255/220/350/277/233/347/250/213Python/345/272/224/347/224/250.md +149 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Poco-C++/347/261/273/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/351/252/214/350/257/201.md +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-PyGObject-introspection/344/272/244/345/217/211/347/274/226/350/257/221/345/242/231.md +32 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Python-C/346/211/251/345/261/225/344/272/244/345/217/211/347/274/226/350/257/221.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Qt6-CMake-GUI/345/272/224/347/224/250/347/247/273/346/244/215.md +110 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Qt6-qtdeclarative-QtQuick/344/272/244/345/217/211/347/274/226/350/257/221.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Rust-BoringSSL-quiche.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Rust-build-script/345/256/277/344/270/273cfg/346/263/204/346/274/217/344/270/216OHOS/344/272/244/345/217/211/351/223/276/346/216/245.md +134 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-VLC-autotools/345/252/222/344/275/223/345/272/224/347/224/250/347/247/273/346/244/215.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-VLC/345/216/237/347/224/237Qt/347/225/214/351/235/242/347/247/273/346/244/215.md +103 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-VisualVM-JVM-Swing/345/272/224/347/224/250/347/247/273/346/244/215.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-Windows/345/256/277/344/270/273/346/236/204/345/273/272/347/216/257/345/242/203/345/233/233/345/235/221.md +170 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-XComponent-CPU/345/203/217/347/264/240/346/270/262/346/237/223/344/270/216/350/276/223/345/205/245/347/274/235.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-autotools-C/344/272/214/350/277/233/345/210/266-goaccess.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-autotools/345/272/223CMake/346/233/277/344/273/243/344/272/244/345/217/211/347/274/226/350/257/221.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-autotools/345/272/223Windows/345/256/277/344/270/273/346/240/221/345/206/205/346/236/204/345/273/272/344/270/216/347/233/264/351/223/276/344/272/244/345/217/211/347/274/226/350/257/221.md +116 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-cmd-pkgs/351/242/204/347/274/226/350/257/221GTK/346/240/210/344/270/215/345/217/257/347/224/250.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-cpp-lib/345/217/214/350/275/275/344/275/223/351/252/214/350/257/201OHPTCASE/345/215/217/350/256/256/351/205/215/346/226/271.md +99 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-electron-vite-React/345/272/224/347/224/250-OHElectron-HAP.md +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-git-/351/200/202/351/205/215/350/246/201/347/202/271.md +203 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-gui-test-demo-/346/227/247/347/211/210OhptCaseRunner/345/215/207/347/272/247NAPI/346/241/245.md +169 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-ipykernel-Jupyter/345/206/205/346/240/270.md +32 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-jimtcl/344/272/244/345/217/211/347/274/226/350/257/221eventloop/346/211/251/345/261/225/347/274/272/345/244/261-server_loop/346/256/265/351/224/231/350/257/257.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-libaribcaption-/345/255/227/344/275/223/346/270/262/346/237/223C++/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/350/256/276/345/244/207/345/205/250/351/207/217/351/252/214/350/257/201.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-meson-Conan-pkg-config/346/250/241/346/213/237/345/231/250/344/272/244/345/217/211/347/274/226/350/257/221.md +139 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-meson-Cython-numpy/346/211/251/345/261/225.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-nmap-autotools/344/272/244/345/217/211/347/274/226/350/257/221/344/270/216/347/234/237/346/234/272/346/211/253/346/217/217.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-numpy-OpenBLAS-armv8sve/345/244/215/346/225/260/347/202/271/347/247/257bug.md +67 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode-HAP/345/214/226-Electron/345/243/263.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode-rg-exec-denied.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode/346/217/222/344/273/266/351/203/250/347/275/262.md +146 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode/346/234/254/345/234/260WebUI/351/207/215/346/226/260/345/265/214/345/205/245.md +96 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-opencode/347/246/273/347/272/277/345/210/206/345/217/221/346/211/223/345/214/205.md +95 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-pyGLFW-Python/347/273/221/345/256/232/345/272/223/350/277/201/347/247/273.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-pyzmq-libzmq/346/211/251/345/261/225.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-systeminformation-/345/271/263/345/217/260/345/210/206/346/224/257.md +33 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-usbredir-USB/351/207/215/345/256/232/345/220/221/345/267/245/345/205/267/351/231/215/347/272/247/351/200/202/351/205/215.md +137 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/345/233/276/345/203/217/345/244/204/347/220/206/345/272/223-CImg/345/233/276/345/203/217/345/272/223/344/272/244/345/217/211/347/274/226/350/257/221.md +109 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/345/256/277/344/270/273/346/227/240GNU-make/347/232/204/347/241/256/345/256/232/346/200/247/346/236/204/345/273/272/351/251/261/345/212/250.md +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/347/211/210/346/234/254/350/204/232/346/234/254/350/243/201/345/211/252/345/272/223/347/232/204/345/257/274/345/207/272/351/235/242/345/256/241/350/256/241.md +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/347/272/257JS/345/272/223/351/203/250/347/275/262/345/210/260HNP-node.md +35 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/adaptation//351/270/277/350/222/231PC-/351/200/232/347/224/250/350/247/206/347/252/227/346/241/245ohos_window_bridge.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/addon-build.md +249 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/api-matrix-34.md +411 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/bin/liburing_block.so +0 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/data/api-confirmed-plans.json +628 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/data/api-verdicts.json +14468 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/electron.md +186 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/examples/uv-supplement/uv_supplement_shim.c +135 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/examples/uv-supplement/uv_supplement_shim.h +14 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/guides/electron-builder-packaging-internals.md +723 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/electron/guides/migration-guide.md +777 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/knowledge/case-studies.md +250 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/knowledge/platform-notes.md +349 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-64KB/351/241/265/345/257/271/351/275/220so/345/264/251/346/272/203.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-CLI/345/267/245/345/205/267main/345/207/275/346/225/260/345/271/263/345/217/260/350/203/275/345/212/233/346/243/200/346/237/245/351/231/215/347/272/247/346/250/241/345/274/217.md +134 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-GNU-make-4.4.1/344/272/244/345/217/211/347/274/226/350/257/221/351/232/217/345/214/205.md +102 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HAP/350/260/203/350/257/225/347/255/276/345/220/215/344/270/216/350/256/276/345/244/207/345/256/211/350/243/205/344/277/241/344/273/273/351/223/276.md +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/344/272/214/350/277/233/345/210/266SELinux-exec/351/231/220/345/210/266.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/345/214/205/344/270/216PATH.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/346/211/247/350/241/214/345/231/250cwd/344/270/215/345/217/257/345/206/231/344/270/216/346/262/231/347/256/261/345/206/231/345/205/245/346/226/271/346/241/210.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-HNP/346/225/260/346/215/256/350/265/204/346/272/220/346/226/207/344/273/266/346/211/223/345/214/205EXTRA_DATA.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-NAPI-so/346/211/213/345/212/250/344/272/244/345/217/211/347/274/226/350/257/221/345/277/205/351/241/273/351/223/276/346/216/245ace_napi/344/270/216hilog_ndk.md +41 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-POSIX-NDK/350/203/275/345/212/233/346/216/242/351/222/210/347/237/251/351/230/265.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-Vulkan/344/270/212/345/261/217/351/200/232/350/267/257.md +43 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-aarch64/346/214/207/344/273/244/346/241/243/344/275/215/344/270/216/350/277/220/350/241/214/346/227/266/345/210/206/345/217/221.md +77 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/345/237/237/345/221/275/345/220/215POSIX/344/277/241/345/217/267/351/207/217/345/217/227/351/231/220.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/345/237/237/346/211/247/350/241/214/344/272/214/350/277/233/345/210/266/344/270/216JIT/351/231/220/345/210/266.md +152 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/345/237/237/346/265/213/350/257/225/345/211/215/347/275/256/346/235/241/344/273/266/347/237/251/351/230/265.md +52 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-app/350/256/277/351/227/256PC/347/224/250/346/210/267/347/233/256/345/275/225.md +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-glib-gtest/351/235/231/346/200/201/351/223/276/346/216/245musl/345/220/257/345/212/250/345/264/251/346/272/203.md +89 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-glib/345/255/220/350/277/233/347/250/213/347/233/221/346/216/247app/345/237/237/345/215/241/346/255/273.md +90 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-hdc/346/235/203/351/231/220/344/270/216/345/217/257/350/260/203/350/257/225/347/211/210/351/231/220/345/210/266.md +44 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-hdc/350/203/275/345/212/233/350/276/271/347/225/214/344/270/216/345/217/226/350/257/201/351/200/232/351/201/223.md +101 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-musl/344/270/216BSD-glibc/350/257/255/344/271/211/345/210/206/346/255/247/350/241/250.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-ohpt-sign-demo/345/277/205/351/241/273/344/274/240demo-dir/345/217/202/346/225/260.md +51 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-openocd-Tcl/346/234/215/345/212/241/345/231/250/345/215/217/350/256/256/345/221/275/344/273/244/345/210/206/351/232/224/347/254/246Ctrl-Z.md +32 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-uid/344/270/216/346/226/207/344/273/266/345/275/222/345/261/236.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/344/270/215/345/217/257/350/260/203/350/257/225/350/256/276/345/244/207/347/224/250HiShell/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225.md +68 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/344/272/244/345/217/211libcurl/347/251/272CA/344/277/241/344/273/273/351/224/232/344/270/216SSL_CERT_FILE.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/344/273/216Mac/350/256/277/351/227/256/350/256/276/345/244/207/347/275/221/347/273/234/346/234/215/345/212/241.md +113 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/256/232/345/210/266git/350/241/214/344/270/272.md +65 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/272/224/347/224/250/346/262/231/347/256/261symlink/347/246/201/344/273/244/344/270/216aa/346/215/242/344/273/243/350/257/255/344/271/211.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/272/224/347/224/250/346/262/231/347/256/261/344/270/216/347/211/251/347/220/206/350/267/257/345/276/204/346/230/240/345/260/204.md +79 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/345/272/224/347/224/250/346/262/231/347/256/261/344/270/264/346/227/266/347/233/256/345/275/225/350/257/255/344/271/211/344/270/216libcheck-TEMP/351/200/211/345/235/200.md +91 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/234/237/346/234/272SIGSEGV/344/270/211/346/256/265/345/256/232/344/275/215/346/263/225/344/277/241/345/217/267/347/274/226/347/240/201ucontext/347/246/273/347/272/277/347/254/246/345/217/267/345/214/226.md +121 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/234/237/346/234/272/350/267/221/345/256/230/346/226/271/346/265/213/350/257/225/345/245/227/344/273/266.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/247/201/346/234/211HNP/346/211/223/345/214/205/344/270/216exec/345/271/263/345/217/260/345/267/256/345/274/202.md +120 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/252/227/345/217/243/345/207/240/344/275/225/346/216/247/345/210/266/346/227/240native/345/217/252ArkTS.md +30 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/347/272/257C-TU/350/260/203C++-so/345/234/250OHOS/344/270/212init_array/346/234/237/344/277/241/345/217/267/347/273/210/346/255/242.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/203/275/345/212/233/345/255/230/345/234/250/346/200/247/344/273/245SDK/345/243/260/346/230/216/344/270/272/345/207/206.md +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/256/276/345/244/207Python/350/277/220/350/241/214/346/227/266.md +58 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/256/276/345/244/207pip/351/203/250/347/275/262.md +55 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/256/276/345/244/207/350/257/255/350/250/200/350/277/220/350/241/214/346/227/266/346/216/242/346/265/213/344/270/216/344/276/233/347/273/231.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/277/233/347/250/213/350/247/206/350/247/222/344/270/216mount-namespace.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/350/277/236/346/216/245/350/256/276/345/244/207/344/270/216hdc/345/237/272/347/241/200.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/351/232/217/345/214/205wrapper/350/204/232/346/234/254shebang/350/207/252/346/214/207/344/270/216busybox-seccomp.md +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/platform//351/270/277/350/222/231PC-/351/232/217/345/214/205/346/225/260/346/215/256/346/240/221LF/345/275/222/344/270/200/344/270/216configure/347/224/237/346/210/220/347/211/251/350/241/245/351/275/220.md +48 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/README.md +22 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/iron-rules.md +965 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-compat.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-glibc-developer-impact.md +757 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-glibc-full-comparison-gnu-linux.md +641 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/musl-glibc-full-comparison-iso-posix.md +2627 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/build-systems.md +599 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/debug-methodology.md +856 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/dependencies.md +386 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/dual-build-system-parity-model-data.md +25 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/filesystem-analysis.md +413 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/ohos-adaptation-patterns.md +448 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-knowledge-base/references/operations/ptrace-alternatives.md +306 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/SKILL.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/electron-oh-troubleshooting.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/examples.md +74 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/managed-projects.md +88 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/native-addon.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/native-runtime.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/package-and-patches.md +11 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/recovery.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/references/stages.md +66 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/build-electron-demo.cjs +73 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/build-node-demo.cjs +61 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/create-electron-example.cjs +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/current-hap.cjs +119 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/demo-project.cjs +221 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/demo-project.d.cts +11 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/node-library-policy.cjs +72 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/node-library-policy.d.cts +17 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/prepare-node-launch.cjs +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/scripts/stage-app.cjs +27 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/host-probe.cjs +19 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/index.html +4 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/main.cjs +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native/standard-probe.c +34 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native/syscall-fallback-aarch64.S +38 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native/syscall-fallback-log.c +14 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/native-probe.cjs +26 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/node-entry.cjs +18 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/node-suite-entry.cjs +12 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/preload.cjs +6 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/renderer.js +40 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-node-library/templates/run-suite.cjs +33 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/SKILL.md +294 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/qt5-api-compat.md +552 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/qt5-cross-compile-hap.md +252 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/qt6-to-qt5-downgrade.md +369 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/references/subagent-prompt-template.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/REVIEW-LOG.md +28 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/add-application-font.md +91 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/add-library-shared.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/ads-x11-guard.md +108 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/appendplaintext.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/automoc-manual.md +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/closeevent.md +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/cmake-qt6-to-qt5.md +173 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/constexpr-qlatin1string.md +114 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/cpm-exclusion.md +145 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/cpp17-standard.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/editorconfig.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/enum-typing.md +53 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/lambda-capture-this.md +135 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/lexilla-static.md +116 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/missing-include.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/moc-exclude-sync.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/movetotrash.md +50 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/ohextras.md +84 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/packaging-cmake.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qbytearrayview.md +205 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qcalendar.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdatastream-enum.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdebug-include.md +162 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdeclare-metatype-incomplete.md +122 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdesktopservices.md +70 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qdockwidget.md +230 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qlist-int-constructor.md +81 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qmap-forward-decl.md +165 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qshortcut.md +47 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qstyleoptiontab.md +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qsystemtrayicon.md +45 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qtranslator-missing-qm.md +126 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/qvector-qlist.md +253 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/remove-item-sources.md +103 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/showfullscreen.md +46 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/singleapplication.md +241 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/target-cxx17.md +69 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/thirdparty-cmake.md +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/fixes/win32-not-ohos.md +89 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-build-hap.py +144 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-build.py +190 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-check-api-compat.py +713 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-copy-so.py +286 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/app.json5 +11 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/AppScope/resources/base/profile/configuration.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/build-profile.json5 +28 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/oh-package.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/common/QtAppConstants.ets +2 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/FloatWindowNativeNode.ets +31 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/Index.ets +18 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/MainWindowNativeNode.ets +33 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/SubWindowNativeNode.ets +31 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/pages/UiExtensionNativeNode.ets +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QAbility.ets +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QBaseEmbeddedUiExtensionAbility.ets +39 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QBundledEmbeddedUiExtensionAbility.ets +8 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qability/QEmbeddedUiExtensionAbility.ets +8 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/ets/qabilitystage/QAbilityStage.ets +22 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/module.json5 +204 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/qt/libqohos.d.ts +10 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/qt/oh-package.json5 +6 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/element/string.json +16 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/background.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/foreground.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/layered_image.json +7 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/media/startIcon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/base/profile/main_pages.json +9 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/en_US/element/string.json +16 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/entry/src/main/resources/zh_CN/element/string.json +16 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/hvigor/hvigor-config.json5 +5 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-hap-template/oh-package.json5 +14 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos-init-hap.py +380 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt5-ohos.py +584 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-recipe-qt-app/scripts/qt6-to-qt5-downgrade-patterns.json +407 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-registry/SKILL.md +90 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-registry/references/central-registry.md +142 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/SKILL.md +100 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/assertion-authoring.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/budget-and-coverage.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/case-granularity.md +95 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/combination-patterns.md +30 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/gap-ledger.md +107 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/host-selfvalidation.md +71 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/injection-combination.md +60 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-roster-generation/references/upstream-triage.md +141 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/SKILL.md +42 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/01-scan.schema.json +404 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/02-baseline.schema.json +850 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/03-adapt.schema.json +327 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/04-summary.schema.json +99 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/05-testcases.schema.json +337 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/06-testdemo.schema.json +243 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/07-remotebuild.schema.json +256 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/human-review.schema.json +234 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/manifest.schema.json +82 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/test-change-proposal.schema.json +86 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/schemas/verify-verdict.schema.json +54 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/semantics/adaptation-report-mapping.md +80 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/semantics/enum-semantics.md +389 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/semantics/language-signals.md +56 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/01-scan-report.md.hbs +159 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/02-baseline-report.md.hbs +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/03-adapt-report.md.hbs +189 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/04-summary-report.md.hbs +93 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/05-testcases-report.md.hbs +94 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/06-testdemo-report.md.hbs +175 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/07-remotebuild-report.md.hbs +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-schemas/references/templates/verify-verdict-report.md.hbs +30 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/SKILL.md +529 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/anti-fake-checklist.md +184 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/c-lib-upstream-semantics-checklist.md +78 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/case-design-methods.md +199 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/demo-wiring-pc.md +620 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/input-resources.md +59 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/network-protocol-mock.md +131 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/render-preview-page.md +30 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-test-design/references/test-contract-regressions.md +57 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/SKILL.md +196 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/references/human-review.md +63 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/scripts/version-detector.cjs +189 -0
- package/node_modules/@ohos-agent/pc-adapter/skills/pc-workspace-layout/scripts/workspace-init.mjs +514 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/check-payload-paths.mjs +113 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/README.md +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/aix.h +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/bsd.h +34 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/darwin.h +61 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/errno.h +460 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/linux.h +34 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/os390.h +33 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/posix.h +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/stdint-msvc2008.h +247 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/sunos.h +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/threadpool.h +37 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/tree.h +768 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/unix.h +505 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/version.h +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv/win.h +697 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/deps/uv/include/uv.h +1859 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/js_native_api.h +581 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/js_native_api_types.h +167 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/node_api.h +290 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/include/electron_node/src/node_api_types.h +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/electron-napi-library/lib/libshim.a +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/pkg-config-shim/README.md +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/pkg-config-shim/pkg-config.cmd +3 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/build-tools/pkg-config-shim/pkg-config.py +328 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/_shared/ohpt_artifacts.h +219 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/_shared/ohpt_case_loop.h +94 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/_shared/scripts/fetch-device-python.sh +77 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/README.md +62 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/oh-package.json5 +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/cpp/CMakeLists.txt +24 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/cpp/napi_stub.cpp +920 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/ets/entryability/EntryAbility.ets +29 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/ets/pages/Index.ets +81 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/module.json5 +59 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cli-hnp-runner/scripts/build-hap.sh +402 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/README.md +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/oh-package.json5 +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/cpp/CMakeLists.txt +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/cpp/gui_shell.cpp +138 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/ets/entryability/EntryAbility.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/ets/pages/Index.ets +29 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/module.json5 +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-gui-owb-demo/scripts/build-hap.sh +67 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/README.md +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/oh-package.json5 +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/cpp/CMakeLists.txt +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/cpp/napi_stub.cpp +124 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/ets/entryability/EntryAbility.ets +29 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/ets/pages/Index.ets +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/module.json5 +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-lib-demo/scripts/build-hap.sh +57 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/README.md +89 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/oh-package.json5 +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/cpp/CMakeLists.txt +24 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/cpp/napi_stub.cpp +483 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/ets/entryability/EntryAbility.ets +29 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/ets/pages/Index.ets +234 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/module.json5 +59 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/cpp-terminal-demo/scripts/build-hap.sh +215 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/toolchain-manifest.json +17 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/app.json5 +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/resources/base/media/startIcon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/AppScope/resources/base/profile/configuration.json +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/build-profile.json5 +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/build-profile.json5 +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/obfuscation-rules.txt +18 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/oh-package.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/Application/AbilityStage.ets +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/BrowserAbility.ets +48 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/EntryAbility.ets +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/StatelessAbility.ets +49 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/StatusBarEntryAbility.ets +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/entryability/TaskManagerAbility.ets +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/extensionAbility/BrowserEmbeddedAbility.ets +33 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/EmbeddedWindow.ets +25 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/Index.ets +87 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/Login.ets +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/NodeHandleSubWindow.ets +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/NodeHandleWindow.ets +109 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/QuickLoginButtonComponent.ets +640 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/StatusBarPage.ets +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/SubWindow.ets +18 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/WebPage.ets +91 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/pages/WindowNode.ets +25 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/ets/process/CustomChildProcess.ets +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/module.json5 +121 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/element/color.json +20 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/element/string.json +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/profile/main_pages.json +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/base/profile/shortcuts_config.json +18 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/en_US/element/string.json +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/main/resources/zh_CN/element/string.json +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/ets/testability/TestAbility.ets +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/ets/testability/pages/Index.ets +17 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/module.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/resources/base/element/string.json +16 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/electron/src/ohosTest/resources/base/profile/test_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/hvigor/hvigor-config.json5 +17 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/oh-package.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/Index.ets +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/build-profile.json5 +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/childProcess.ets +1 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/consumer-rules.txt +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/obfuscation-rules.txt +18 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/oh-package.json5 +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/cpp/types/libadapter/index.d.ts +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/cpp/types/libadapter/oh-package.json5 +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/ContinueAbility.ets +257 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebAbility.ets +626 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebBaseAbility.ets +286 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebBaseExtensionAbility.ets +164 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/ability/WebEmbeddedAbility.ets +104 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AccessibilityAdapter.ets +23 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AppLifecycleAdapter.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AppWindowAdapter.ets +903 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/AutoUpdaterAdapter.ets +77 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/BluetoothAdapter.ets +280 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/BluetoothLowEnergyAdapter.ets +501 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/BrowserPolicyAdapter.ets +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/CertManagerAdapter.ets +211 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ContextAdapter.ets +97 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ContextPathAdapter.ets +68 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/CursorAdapter.ets +99 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DefaultApplicationAdapter.ets +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DeviceAdapter.ets +189 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DeviceInfoAdapter.ets +120 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DeviceUserAuthAdapter.ets +114 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DialogAdapter.ets +321 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DisplayAdapter.ets +343 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/DragDropAdapter.ets +226 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ElectronAppAdapter.ets +180 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/EtsBridgeAdapter.ets +300 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ExternalProtocolAdapter.ets +70 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/FileManagerAdapter.ets +205 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/FilePickerAdapter.ets +195 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/FontAdapter.ets +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/I18nAdapter.ets +64 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/IMFAdapter.ets +169 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/MediaAdapter.ets +59 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/MimeTypeAdapter.ets +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/MultiInputAdapter.ets +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/NativeThemeAdapter.ets +80 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/NotificationAdapter.ets +359 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PasteBoardApadter.ets +252 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PermissionManagerAdapter.ets +415 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PopupWindowAdapter.ets +338 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/PrintAdapter.ets +142 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ProcessAdapter.ets +89 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/RunningLockAdapter.ets +103 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ScreenshotAdapter.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ShapeDetectionAdapter.ets +111 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/ShareAdapter.ets +228 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/SpeechAdapter.ets +283 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/StatusBarManager.ets +255 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/SubWindowAdapter.ets +420 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/SystemFloatingWindowAdapter.ets +384 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/adapter/WebAppAdapter.ets +121 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/application/WebAbilityStage.ets +152 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/AbilityManager.ets +142 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/AdapterModule.ets +34 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/BaseAdapter.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/BaseWindowAdapter.ets +86 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/CommandLineAdapter.ets +162 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/CommonDependencyProvider.ets +41 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/CommonModule.ets +19 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/Constants.ets +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/DragParamManager.ets +652 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/InjectModule.ets +58 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/LogDecorator.ts +57 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/ModuleType.ts +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/NodeHandleManager.ets +66 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/PopupWindowManager.ets +78 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/SystemFloatingWindowManager.ets +78 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/common/WindowStyle.ets +76 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/MessageBox.ets +150 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebEmbeddedWindow.ets +157 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebNodeHandleSubWindow.ets +63 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebNodeHandleWindow.ets +151 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebSubWindow.ets +93 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebWindow.ets +276 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/components/WebWindowNode.ets +196 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/interface/CommonInterface.ts +408 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/interface/Dependency.ets +16 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/interface/WebProxy.ets +74 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AccessibilityAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AppLifecycleAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AppWindowAdapterBind.ets +247 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/AutoUpdaterAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/BluetoothAdapterBind.ets +126 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/BluetoothLowEnergyAdapterBind.ets +133 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/BrowserPolicyAdapterBind.ets +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/CertManagerAdapterBind.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ContextAdapterBind.ets +22 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ContextPathAdapterBind.ets +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/CursorAdapterBind.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DefaultApplicationAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DeviceAdapterBind.ets +72 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DeviceUserAuthAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DialogAdapterBind.ets +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DisplayAdapterBind.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/DragDropAdapterBind.ets +22 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ElectronAppAdapterBind.ets +71 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/EtsBridgeAdapterBind.ets +228 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ExternalProtocolAdapterBind.ets +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/FileManagerAdapterBind.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/FilePickerAdapterBind.ets +38 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/FontAdapterBind.ets +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/I18nAdapterBind.ets +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/IMFAdapterBind.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/JsBindingMethod.ets +89 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/MediaAdapterBind.ets +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/MimeTypeAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/NativeThemeAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/NotificationAdapterBind.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PasteBoardAdapterBind.ets +74 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PermissionManagerAdapterBind.ets +46 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PopupWindowAdapterBind.ets +88 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/PrintAdapterBind.ets +37 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ProcessAdapterBind.ets +34 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/RunningLockAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ScreenshotAdapterBind.ets +23 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ShapeDetectionAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/ShareAdapterBind.ets +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/SpeechAdapterBind.ets +64 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/StatusBarManagerAdapterBind.ets +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/SubWindowAdapterBind.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/SystemFloatingWindowAdapterBind.ets +84 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/jsbindings/WebAppAdapterBind.ets +24 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/process/WebChildProcess.ets +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/CheckEmptyUtils.ts +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/CmdArgsHelper.ets +325 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/GlobalContext.ts +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/GlobalThisHelper.ets +127 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/InstallationPackageDialog.ets +103 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/JsBindingUtils.ets +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/KVStore.ets +159 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/LaunchHelper.ets +55 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/LogUtil.ts +53 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/ObjUtil.ts +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/StringStackUtil.ts +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/ets/utils/StringUtil.ts +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/module.json5 +179 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/base/element/color.json +24 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/base/element/string.json +128 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/en_US/element/string.json +132 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v34.8.5/web_engine/src/main/resources/zh_CN/element/string.json +132 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/app.json5 +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/media/product_logo_32.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/media/startIcon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/AppScope/resources/base/profile/configuration.json +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/build-profile.json5 +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/obfuscation-rules.txt +22 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/oh-package.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/Application/AbilityStage.ets +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/BrowserAbility.ets +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/EntryAbility.ets +40 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/StatelessAbility.ets +49 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/StatusBarEntryAbility.ets +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/entryability/TaskManagerAbility.ets +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/extensionAbility/BrowserEmbeddedAbility.ets +33 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/EmbeddedWindow.ets +25 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/Index.ets +66 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/Login.ets +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/NodeHandleSubWindow.ets +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/NodeHandleWindow.ets +108 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/QuickLoginButtonComponent.ets +640 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/StatusBarPage.ets +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/SubWindow.ets +18 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/WebPage.ets +91 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/pages/WindowNode.ets +25 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/ets/process/CustomChildProcess.ets +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/module.json5 +122 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/element/color.json +20 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/element/string.json +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/profile/main_pages.json +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/base/profile/shortcuts_config.json +18 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/en_US/element/string.json +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/main/resources/zh_CN/element/string.json +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/ets/testability/TestAbility.ets +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/ets/testability/pages/Index.ets +17 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/module.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/resources/base/element/string.json +16 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/electron/src/ohosTest/resources/base/profile/test_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/hvigor/hvigor-config.json5 +17 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/oh-package.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/Index.ets +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/build-profile.json5 +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/childProcess.ets +1 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/consumer-rules.txt +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/obfuscation-rules.txt +22 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/oh-package.json5 +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/cpp/types/libadapter/index.d.ts +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/cpp/types/libadapter/oh-package.json5 +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/ContinueAbility.ets +257 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebAbility.ets +486 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebBaseAbility.ets +292 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebBaseExtensionAbility.ets +167 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/ability/WebEmbeddedAbility.ets +103 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AccessibilityAdapter.ets +23 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AppLifecycleAdapter.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AppWindowAdapter.ets +890 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/AutoUpdaterAdapter.ets +77 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/BluetoothAdapter.ets +280 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/BluetoothLowEnergyAdapter.ets +501 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/BrowserPolicyAdapter.ets +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/CertManagerAdapter.ets +247 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ContextAdapter.ets +93 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ContextPathAdapter.ets +98 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/CursorAdapter.ets +99 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DefaultApplicationAdapter.ets +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DeviceAdapter.ets +189 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DeviceInfoAdapter.ets +95 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DeviceUserAuthAdapter.ets +114 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DialogAdapter.ets +291 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DisplayAdapter.ets +343 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/DragDropAdapter.ets +184 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ElectronAppAdapter.ets +173 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/EtsBridgeAdapter.ets +312 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ExternalProtocolAdapter.ets +73 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/FileManagerAdapter.ets +205 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/FilePickerAdapter.ets +202 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/FontAdapter.ets +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/I18nAdapter.ets +64 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/IMFAdapter.ets +169 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/MediaAdapter.ets +59 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/MimeTypeAdapter.ets +52 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/MultiInputAdapter.ets +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/NativeMessagingAdapter.ets +151 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/NativeThemeAdapter.ets +55 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/NotificationAdapter.ets +348 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PasteBoardApadter.ets +252 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PermissionManagerAdapter.ets +417 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PopupWindowAdapter.ets +341 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/PrintAdapter.ets +147 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ProcessAdapter.ets +64 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/RunningLockAdapter.ets +103 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ScreenshotAdapter.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ShapeDetectionAdapter.ets +111 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/ShareAdapter.ets +228 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/SpeechAdapter.ets +283 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/StatusBarManager.ets +255 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/SubWindowAdapter.ets +410 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/adapter/SystemFloatingWindowAdapter.ets +370 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/application/WebAbilityStage.ets +121 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/AbilityManager.ets +135 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/AdapterModule.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/BaseAdapter.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/BaseWindowAdapter.ets +80 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/CommandLineAdapter.ets +177 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/CommonDependencyProvider.ets +41 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/CommonModule.ets +19 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/Constants.ets +60 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/DragParamManager.ets +652 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/InjectModule.ets +58 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/LogDecorator.ts +57 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/ModuleType.ts +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/NodeHandleManager.ets +66 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/PopupWindowManager.ets +78 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/SystemFloatingWindowManager.ets +78 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/common/WindowStyle.ets +80 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/MessageBox.ets +150 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebEmbeddedWindow.ets +157 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebNodeHandleSubWindow.ets +63 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebNodeHandleWindow.ets +144 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebSubWindow.ets +93 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebWindow.ets +244 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/components/WebWindowNode.ets +194 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/interface/CommonInterface.ts +399 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/interface/Dependency.ets +16 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/interface/WebProxy.ets +74 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AccessibilityAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AppLifecycleAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AppWindowAdapterBind.ets +249 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/AutoUpdaterAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/BluetoothAdapterBind.ets +126 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/BluetoothLowEnergyAdapterBind.ets +133 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/BrowserPolicyAdapterBind.ets +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/CertManagerAdapterBind.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ContextAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ContextPathAdapterBind.ets +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/CursorAdapterBind.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DefaultApplicationAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DeviceAdapterBind.ets +72 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DeviceUserAuthAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DialogAdapterBind.ets +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DisplayAdapterBind.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/DragDropAdapterBind.ets +22 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ElectronAppAdapterBind.ets +66 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/EtsBridgeAdapterBind.ets +239 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ExternalProtocolAdapterBind.ets +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/FileManagerAdapterBind.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/FilePickerAdapterBind.ets +38 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/FontAdapterBind.ets +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/I18nAdapterBind.ets +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/IMFAdapterBind.ets +51 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/JsBindingMethod.ets +89 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/MediaAdapterBind.ets +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/MimeTypeAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/NativeMessagingAdapterBind.ets +56 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/NativeThemeAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/NotificationAdapterBind.ets +42 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PasteBoardAdapterBind.ets +74 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PermissionManagerAdapterBind.ets +46 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PopupWindowAdapterBind.ets +88 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/PrintAdapterBind.ets +37 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ProcessAdapterBind.ets +34 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/RunningLockAdapterBind.ets +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ScreenshotAdapterBind.ets +23 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ShapeDetectionAdapterBind.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/ShareAdapterBind.ets +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/SpeechAdapterBind.ets +64 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/StatusBarManagerAdapterBind.ets +43 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/SubWindowAdapterBind.ets +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/jsbindings/SystemFloatingWindowAdapterBind.ets +79 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/process/WebChildProcess.ets +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/CheckEmptyUtils.ts +47 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/GlobalContext.ts +28 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/GlobalThisHelper.ets +83 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/InstallationPackageDialog.ets +103 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/JsBindingUtils.ets +62 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/LaunchHelper.ets +55 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/LogUtil.ts +53 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/ObjUtil.ts +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/StringStackUtil.ts +26 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/ets/utils/StringUtil.ts +21 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/module.json5 +182 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/base/element/color.json +24 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/base/element/string.json +128 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/en_US/element/string.json +128 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/electron-app/v37.2.3/web_engine/src/main/resources/zh_CN/element/string.json +128 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/README.md +30 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/build-profile.json5 +48 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/oh-package.json5 +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/CMakeLists.txt +37 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/py_runner.cpp +83 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/types/lib__XCOMP__/index.d.ts +1 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/cpp/types/lib__XCOMP__/oh-package.json5 +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/ets/entryability/EntryAbility.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/ets/pages/Index.ets +44 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/module.json5 +50 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/entry/src/main/resources/resfile/app/main.py +14 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-embedded/scripts/build-hap.sh +61 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/README.md +31 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/oh-package.json5 +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/CMakeLists.txt +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/shell_exec.cpp +124 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/types/lib__XCOMP__/index.d.ts +1 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/cpp/types/lib__XCOMP__/oh-package.json5 +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/ets/entryability/EntryAbility.ets +27 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/ets/pages/Index.ets +49 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/module.json5 +49 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/entry/src/main/resources/resfile/app/main.py +15 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-app-subprocess/scripts/build-hap.sh +38 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/AppScope/app.json5 +12 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/AppScope/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/AppScope/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/README.md +35 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/build-profile.json5 +36 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/build-profile.json5 +45 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/obfuscation-rules.txt +2 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/oh-package.json5 +9 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/cpp/CMakeLists.txt +57 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/cpp/app_shell.cpp +11 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/ets/entryability/EntryAbility.ets +32 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/ets/pages/Index.ets +29 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/module.json5 +49 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/element/color.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/element/string.json +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/media/app_icon.png +0 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/entry/src/main/resources/resfile/app/main.py +125 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/hvigor/hvigor-config.json5 +13 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/hvigorfile.ts +6 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/oh-package.json5 +8 -0
- package/node_modules/@ohos-agent/pc-adapter/templates/hap/python-gui-owb/scripts/build-hap.sh +105 -0
- package/package.json +13 -6
- package/src/cli.js +14 -3
- package/src/detect-pc.js +88 -0
- package/src/doctor.js +27 -10
- package/src/install.js +7 -74
- package/src/ohpt-agent.js +23 -0
- package/src/ohpt.js +24 -0
- package/src/paths.js +2 -2
- package/src/plugin.js +64 -8
|
@@ -0,0 +1,3488 @@
|
|
|
1
|
+
# 标准系统方案之瑞芯微RK3568移植案例
|
|
2
|
+
|
|
3
|
+
本文章是基于瑞芯微RK3568芯片的DAYU200开发板,进行标准系统相关功能的移植,主要包括产品配置添加,内核启动、升级,音频ADM化,Camera,TP,LCD,WIFI,BT,vibrator、sensor、图形显示模块的适配案例总结,以及相关功能的适配。
|
|
4
|
+
|
|
5
|
+
## 产品配置和目录规划
|
|
6
|
+
|
|
7
|
+
### 产品配置
|
|
8
|
+
|
|
9
|
+
在产品`//productdefine/common/device`目录下创建以rk3568名字命名的json文件,并指定CPU的架构。`//productdefine/common/device/rk3568.json`配置如下:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
{
|
|
13
|
+
"device_name": "rk3568",
|
|
14
|
+
"device_company": "rockchip",
|
|
15
|
+
"target_os": "ohos",
|
|
16
|
+
"target_cpu": "arm",
|
|
17
|
+
"kernel_version": "",
|
|
18
|
+
"device_build_path": "device/board/hihope/rk3568",
|
|
19
|
+
"enable_ramdisk": true, //是否支持ramdisk二级启动。
|
|
20
|
+
"build_selinux": true // 是否支持selinux权限管理。
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
在`//productdefine/common/products`目录下创建以产品名命名的rk3568.json文件。该文件用于描述产品所使用的SOC 以及所需的子系统。配置如下:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
{
|
|
28
|
+
"product_name": "rk3568",
|
|
29
|
+
"product_company" : "hihope",
|
|
30
|
+
"product_device": "rk3568",
|
|
31
|
+
"version": "2.0",
|
|
32
|
+
"type": "standard",
|
|
33
|
+
"parts":{
|
|
34
|
+
"ace:ace_engine_standard":{},
|
|
35
|
+
"ace:napi":{},
|
|
36
|
+
...
|
|
37
|
+
"xts:phone_tests":{}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
主要的配置内容包括:
|
|
43
|
+
|
|
44
|
+
1. product_device:配置所使用的SOC。
|
|
45
|
+
2. type:配置系统的级别,这里直接standard即可。
|
|
46
|
+
3. parts:系统需要启用的子系统。子系统可以简单理解为一块独立构建的功能块。
|
|
47
|
+
|
|
48
|
+
已定义的子系统可以在`//build/subsystem_config.json`中找到。当然你也可以定制子系统。
|
|
49
|
+
|
|
50
|
+
这里建议先拷贝Hi3516DV300开发板的配置文件,删除掉hisilicon_products这个子系统。这个子系统为Hi3516DV300 SOC编译内核,不适合rk3568。
|
|
51
|
+
|
|
52
|
+
### 目录规划
|
|
53
|
+
|
|
54
|
+
参考[Board和SoC解耦的设计思路](https://gitee.com/openharmony-sig/sig-content/blob/master/devboard/docs/board-soc-arch-design.md),并把芯片适配目录规划为:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
device
|
|
58
|
+
├── board --- 单板厂商目录。
|
|
59
|
+
│ └── hihope --- 单板厂商名字。
|
|
60
|
+
│ └── rk3568 --- 单板名:rk3568,主要放置开发板相关的驱动业务代码。
|
|
61
|
+
└── soc --- SoC厂商目录。
|
|
62
|
+
└── rockchip --- SoC厂商名字:rockchip。
|
|
63
|
+
└── rk3568 --- SoC Series名:rk3568,主要为芯片原厂提供的一些方案,以及闭源库等。
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
vendor
|
|
70
|
+
└── hihope
|
|
71
|
+
└── rk3568 --- 产品名字:产品、hcs以及demo相关。
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## **内核启动**
|
|
75
|
+
|
|
76
|
+
### 二级启动
|
|
77
|
+
|
|
78
|
+
二级启动简单来说就是将之前直接挂载sytem,从system下的init启动,改成先挂载ramdsik,从ramdsik中的init 启动,做些必要的初始化动作,如挂载system,vendor等分区,然后切到system下的init。
|
|
79
|
+
|
|
80
|
+
Rk3568适配主要是将主线编译出来的ramdisk 打包到boot_linux.img中,主要有以下工作:
|
|
81
|
+
|
|
82
|
+
1.使能二级启动。
|
|
83
|
+
|
|
84
|
+
在productdefine/common/device/rk3568.json 中使能enable_ramdisk。
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
{
|
|
88
|
+
"device_name": "rk3568",
|
|
89
|
+
"device_company": "hihope",
|
|
90
|
+
"target_os": "ohos",
|
|
91
|
+
"target_cpu": "arm",
|
|
92
|
+
"kernel_version": "",
|
|
93
|
+
"device_build_path": "device/hihope/build",
|
|
94
|
+
"enable_ramdisk": true,
|
|
95
|
+
"build_selinux": true
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
2.把主线编译出来的ramdsik.img 打包到boot_linux.img。
|
|
100
|
+
|
|
101
|
+
配置:
|
|
102
|
+
|
|
103
|
+
由于rk 启动uboot 支持从ramdisk 启动,只需要在打包boot_linux.img 的配置文件中增加ramdisk.img ,因此没有使用主线的its格式,具体配置就是在内核编译脚本make-ohos.sh 中增加:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
function make_extlinux_conf()
|
|
107
|
+
{
|
|
108
|
+
dtb_path=$1
|
|
109
|
+
uart=$2
|
|
110
|
+
image=$3
|
|
111
|
+
|
|
112
|
+
echo "label rockchip-kernel-5.10" > ${EXTLINUX_CONF}
|
|
113
|
+
echo " kernel /extlinux/${image}" >> ${EXTLINUX_CONF}
|
|
114
|
+
echo " fdt /extlinux/${TOYBRICK_DTB}" >> ${EXTLINUX_CONF}
|
|
115
|
+
if [ "enable_ramdisk" == "${ramdisk_flag}" ]; then
|
|
116
|
+
echo " initrd /extlinux/ramdisk.img" >> ${EXTLINUX_CONF}
|
|
117
|
+
fi
|
|
118
|
+
cmdline="append earlycon=uart8250,mmio32,${uart} root=PARTUUID=614e0000-0000-4b53-8000-1d28000054a9 rw rootwait rootfstype=ext4"
|
|
119
|
+
echo " ${cmdline}" >> ${EXTLINUX_CONF}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 打包
|
|
124
|
+
|
|
125
|
+
增加了打包boot镜像的脚本make-boot.sh,供编译完ramdisk,打包boot 镜像时调用, 主要内容:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
genext2fs -B ${blocks} -b ${block_size} -d boot_linux -i 8192 -U boot_linux.img
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
调用make-boot.sh 的修改可以参考如下pr:
|
|
132
|
+
|
|
133
|
+
https://gitee.com/openharmony/build/pulls/569/files
|
|
134
|
+
|
|
135
|
+
### INIT配置
|
|
136
|
+
|
|
137
|
+
init相关配置请参考[启动子系统的规范要求](https://gitcode.com/openharmony/docs/blob/master/zh-cn/readme/%E5%90%AF%E5%8A%A8%E6%81%A2%E5%A4%8D%E5%AD%90%E7%B3%BB%E7%BB%9F.md)即可。
|
|
138
|
+
|
|
139
|
+
## **音频**
|
|
140
|
+
|
|
141
|
+
### RK3568 Audio总体结构图
|
|
142
|
+
|
|
143
|
+

|
|
144
|
+
|
|
145
|
+
### ADM适配方案介绍
|
|
146
|
+
|
|
147
|
+
#### RK3568平台适配ADM框架图
|
|
148
|
+
|
|
149
|
+

|
|
150
|
+
|
|
151
|
+
1. ADM Drivers adapter.
|
|
152
|
+
|
|
153
|
+
主要完成Codec/DMA/I2S驱动注册,使得ADM可以加载驱动节点;并注册ADM与Drivers交互的接口函数。
|
|
154
|
+
|
|
155
|
+
2. ADM Drivers impl.
|
|
156
|
+
|
|
157
|
+
主要完成ADM Drivers adapter接口函数的实现,以及Codec_config.hcs/dai_config.hcs等配置信息的获取,并注册到对应的设备。
|
|
158
|
+
|
|
159
|
+
3. Linux Drivers.
|
|
160
|
+
|
|
161
|
+
ADM Drivers impl可以直接阅读硬件手册,完成驱动端到端的配置;也可以借用Linux原生驱动实现与接口,减少开发者工作量。
|
|
162
|
+
|
|
163
|
+
#### 目录结构
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
./device/board/hihope/rk3568/audio_drivers
|
|
167
|
+
├── codec
|
|
168
|
+
│ └── rk809_codec
|
|
169
|
+
│ ├── include
|
|
170
|
+
│ │ ├── rk809_codec_impl.h
|
|
171
|
+
│ │ └── rk817_codec.h
|
|
172
|
+
│ └── src
|
|
173
|
+
│ ├── rk809_codec_adapter.c
|
|
174
|
+
│ ├── rk809_codec_linux_driver.c
|
|
175
|
+
│ └── rk809_codec_ops.c
|
|
176
|
+
├── dai
|
|
177
|
+
│ ├── include
|
|
178
|
+
│ │ ├── rk3568_dai_linux.h
|
|
179
|
+
│ │ └── rk3568_dai_ops.h
|
|
180
|
+
│ └── src
|
|
181
|
+
│ ├── rk3568_dai_adapter.c
|
|
182
|
+
│ ├── rk3568_dai_linux_driver.c
|
|
183
|
+
│ └── rk3568_dai_ops.c
|
|
184
|
+
├── dsp
|
|
185
|
+
│ ├── include
|
|
186
|
+
│ │ └── rk3568_dsp_ops.h
|
|
187
|
+
│ └── src
|
|
188
|
+
│ ├── rk3568_dsp_adapter.c
|
|
189
|
+
│ └── rk3568_dsp_ops.c
|
|
190
|
+
├── include
|
|
191
|
+
│ ├── audio_device_log.h
|
|
192
|
+
│ └── rk3568_audio_common.h
|
|
193
|
+
└── soc
|
|
194
|
+
├── include
|
|
195
|
+
│ └── rk3568_dma_ops.h
|
|
196
|
+
└── src
|
|
197
|
+
├── rk3568_dma_adapter.c
|
|
198
|
+
└── rk3568_dma_ops.c
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### RK3568适配ADM详细过程
|
|
202
|
+
|
|
203
|
+
#### 梳理平台Audio框架
|
|
204
|
+
|
|
205
|
+
梳理目标平台的Audio结构,明确数据流与控制流通路。
|
|
206
|
+
|
|
207
|
+
1. 针对RK3568平台,Audio的结构相对简单见RK3568 Audio总体结构图,Codec作为一个独立设备。I2C完成对设备的控制,I2S完成Codec设备与CPU之间的交互。
|
|
208
|
+
2. 结合原理图整理I2S通道号,对应的引脚编号;I2C的通道号,地址等硬件信息。
|
|
209
|
+
3. 获取Codec对应的datasheet,以及RK3568平台的Datasheet(包含I2S/DMA通道等寄存器的介绍)。
|
|
210
|
+
|
|
211
|
+
#### 熟悉并了解ADM结构
|
|
212
|
+
|
|
213
|
+
ADM结构框图如下,Audio Peripheral Drivers和Platform Drivers为平台适配需要完成的工作。
|
|
214
|
+
|
|
215
|
+

|
|
216
|
+
|
|
217
|
+
结合第1步梳理出来的Audio结构分析,Audio Peripheral Drivers包含Rk809的驱动,Platform Drivers包含DMA驱动和I2S驱动。
|
|
218
|
+
|
|
219
|
+
| 需要适配的驱动 | ADM对应模块 | 接口文件路径 |
|
|
220
|
+
| -------------- | ----------- | ---------------------------------------------------- |
|
|
221
|
+
| RK809驱动 | Accessory | drivers/framework/include/audio/audio_accessory_if.h |
|
|
222
|
+
| DMA驱动 | platform | drivers/framework/include/audio/audio_platform_if.h |
|
|
223
|
+
| I2S驱动 | DAI | drivers/framework/include/audio/audio_dai_if.h.h |
|
|
224
|
+
|
|
225
|
+
#### 搭建驱动代码框架
|
|
226
|
+
|
|
227
|
+
##### 配置HCS文件
|
|
228
|
+
|
|
229
|
+
在device_info.hcs文件中Audio下注册驱动节点。
|
|
230
|
+
|
|
231
|
+
```c
|
|
232
|
+
audio :: host {
|
|
233
|
+
hostName = "audio_host";
|
|
234
|
+
priority = 60;
|
|
235
|
+
device_dai0 :: device {
|
|
236
|
+
device0 :: deviceNode {
|
|
237
|
+
policy = 1;
|
|
238
|
+
priority = 50;
|
|
239
|
+
preload = 0;
|
|
240
|
+
permission = 0666;
|
|
241
|
+
moduleName = "DAI_RK3568";
|
|
242
|
+
serviceName = "dai_service";
|
|
243
|
+
deviceMatchAttr = "hdf_dai_driver";
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
device_codec :: device {
|
|
247
|
+
device0 :: deviceNode {
|
|
248
|
+
policy = 1;
|
|
249
|
+
priority = 50;
|
|
250
|
+
preload = 0;
|
|
251
|
+
permission = 0666;
|
|
252
|
+
moduleName = "CODEC_RK809";
|
|
253
|
+
serviceName = "codec_service_0";
|
|
254
|
+
deviceMatchAttr = "hdf_codec_driver";
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
device_codec_ex :: device {
|
|
258
|
+
device0 :: deviceNode {
|
|
259
|
+
policy = 1;
|
|
260
|
+
priority = 50;
|
|
261
|
+
preload = 0;
|
|
262
|
+
permission = 0666;
|
|
263
|
+
moduleName = "CODEC_RK817";
|
|
264
|
+
serviceName = "codec_service_1";
|
|
265
|
+
deviceMatchAttr = "hdf_codec_driver_ex";
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
device_dsp :: device {
|
|
269
|
+
device0 :: deviceNode {
|
|
270
|
+
policy = 1;
|
|
271
|
+
priority = 50;
|
|
272
|
+
preload = 0;
|
|
273
|
+
permission = 0666;
|
|
274
|
+
moduleName = "DSP_RK3568";
|
|
275
|
+
serviceName = "dsp_service_0";
|
|
276
|
+
deviceMatchAttr = "hdf_dsp_driver";
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
device_dma :: device {
|
|
280
|
+
device0 :: deviceNode {
|
|
281
|
+
policy = 1;
|
|
282
|
+
priority = 50;
|
|
283
|
+
preload = 0;
|
|
284
|
+
permission = 0666;
|
|
285
|
+
moduleName = "DMA_RK3568";
|
|
286
|
+
serviceName = "dma_service_0";
|
|
287
|
+
deviceMatchAttr = "hdf_dma_driver";
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
......
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
根据接入的设备,选择Codec节点还是Accessory节点,配置硬件设备对应的私有属性(包含寄存器首地址,相关control寄存器地址)涉及Codec_config.hcs和DAI_config.hcs。
|
|
296
|
+
|
|
297
|
+
配置相关介绍见[Audio](https://gitcode.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/driver-peripherals-audio-des.md) hcs配置章节以及ADM框架的audio_parse模块代码。
|
|
298
|
+
|
|
299
|
+
##### codec/accessory模块
|
|
300
|
+
|
|
301
|
+
1. 将驱动注册到HDF框架中,代码片段如下,启动moduleName与HCS文件的中moduleName一致。
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
struct HdfDriverEntry g_codecDriverEntry = {
|
|
305
|
+
.moduleVersion = 1,
|
|
306
|
+
.moduleName = "CODEC_HI3516",
|
|
307
|
+
.Bind = CodecDriverBind,
|
|
308
|
+
.Init = CodecDriverInit,
|
|
309
|
+
.Release = CodecDriverRelease,
|
|
310
|
+
};
|
|
311
|
+
HDF_INIT(g_codecDriverEntry);
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
2. Codec模块需要填充:
|
|
315
|
+
|
|
316
|
+
g_codecData:codec设备的操作函数集和私有数据集。
|
|
317
|
+
|
|
318
|
+
g_codecDaiDeviceOps:codecDai的操作函数集,包括启动传输和参数配置等函数接口。
|
|
319
|
+
|
|
320
|
+
g_codecDaiData:codec的数字音频接口的操作函数集和私有数据集。
|
|
321
|
+
|
|
322
|
+
3. 完成 bind、init和release函数的实现。
|
|
323
|
+
|
|
324
|
+
4. 验证。
|
|
325
|
+
|
|
326
|
+
在bind和init函数加调试日志,编译版本并获取系统系统日志:
|
|
327
|
+
|
|
328
|
+
```
|
|
329
|
+
[ 1.548624] [E/"rk809_codec_adapter"] [Rk809DriverBind][line:258]: enter
|
|
330
|
+
[ 1.548635] [E/"rk809_codec_adapter"] [Rk809DriverBind][line:260]: success
|
|
331
|
+
[ 1.548655] [E/"rk809_codec_adapter"] [Rk809DriverInit][line:270]: enter
|
|
332
|
+
[ 1.549050] [E/"rk809_codec_adapter"] [GetServiceName][line:226]: enter
|
|
333
|
+
[ 1.549061] [E/"rk809_codec_adapter"] [GetServiceName][line:250]: success
|
|
334
|
+
[ 1.549072] [E/"rk809_codec_adapter"] [Rk809DriverInit][line:316]: g_chip->accessory.drvAccessoryName = codec_service_1
|
|
335
|
+
[ 1.549085] [E/audio_core] [AudioSocRegisterDai][line:86]: Register [accessory_dai] success.
|
|
336
|
+
[ 1.549096] [E/audio_core] [AudioRegisterAccessory][line:120]: Register [codec_service_1] success.
|
|
337
|
+
[ 1.549107] [E/"rk809_codec_adapter"] [Rk809DriverInit][line:323]: success!
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
##### DAI模块
|
|
343
|
+
|
|
344
|
+
1. 将I2S驱动注册到HDF框架中,代码片段如下,启动moduleName与HCS文件的中moduleName一致。
|
|
345
|
+
|
|
346
|
+
```c
|
|
347
|
+
struct HdfDriverEntry g_daiDriverEntry = {
|
|
348
|
+
.moduleVersion = 1,
|
|
349
|
+
.moduleName = "DAI_RK3568",
|
|
350
|
+
.Bind = DaiDriverBind,
|
|
351
|
+
.Init = DaiDriverInit,
|
|
352
|
+
.Release = DaiDriverRelease,
|
|
353
|
+
};
|
|
354
|
+
HDF_INIT(g_daiDriverEntry);
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
2. DAI模块填充:
|
|
358
|
+
|
|
359
|
+
```c
|
|
360
|
+
struct AudioDaiOps g_daiDeviceOps = {
|
|
361
|
+
.Startup = Rk3568DaiStartup,
|
|
362
|
+
.HwParams = Rk3568DaiHwParams,
|
|
363
|
+
.Trigger = Rk3568NormalTrigger,
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
struct DaiData g_daiData = {
|
|
367
|
+
.Read = Rk3568DeviceReadReg,
|
|
368
|
+
.Write = Rk3568DeviceWriteReg,
|
|
369
|
+
.DaiInit = Rk3568DaiDeviceInit,
|
|
370
|
+
.ops = &g_daiDeviceOps,
|
|
371
|
+
};
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
3. 完成 bind、init和release函数的实现。
|
|
375
|
+
|
|
376
|
+
4. 验证。
|
|
377
|
+
|
|
378
|
+
在bind/init函数加调试日志,编译版本并获取系统系统日志。
|
|
379
|
+
|
|
380
|
+
```
|
|
381
|
+
[ 1.549193] [I/device_node] launch devnode dai_service
|
|
382
|
+
[ 1.549204] [E/HDF_LOG_TAG] [DaiDriverBind][line:38]: entry!
|
|
383
|
+
[ 1.549216] [E/HDF_LOG_TAG] [DaiDriverBind][line:55]: success!
|
|
384
|
+
[ 1.549504] [E/audio_core] [AudioSocRegisterDai][line:86]: Register [dai_service] success.
|
|
385
|
+
[ 1.549515] [E/HDF_LOG_TAG] [DaiDriverInit][line:116]: success.
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
##### Platform模块
|
|
389
|
+
|
|
390
|
+
1. 将DMA驱动注册到HDF框架中,代码片段如下,启动moduleName与HCS文件的中moduleName一致。
|
|
391
|
+
|
|
392
|
+
```
|
|
393
|
+
struct HdfDriverEntry g_platformDriverEntry = {
|
|
394
|
+
.moduleVersion = 1,
|
|
395
|
+
.moduleName = "DMA_RK3568",
|
|
396
|
+
.Bind = PlatformDriverBind,
|
|
397
|
+
.Init = PlatformDriverInit,
|
|
398
|
+
.Release = PlatformDriverRelease,
|
|
399
|
+
};
|
|
400
|
+
HDF_INIT(g_platformDriverEntry);
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
2. DMA模块需要填充:
|
|
404
|
+
|
|
405
|
+
```c
|
|
406
|
+
struct AudioDmaOps g_dmaDeviceOps = {
|
|
407
|
+
.DmaBufAlloc = Rk3568DmaBufAlloc,
|
|
408
|
+
.DmaBufFree = Rk3568DmaBufFree,
|
|
409
|
+
.DmaRequestChannel = Rk3568DmaRequestChannel,
|
|
410
|
+
.DmaConfigChannel = Rk3568DmaConfigChannel,
|
|
411
|
+
.DmaPrep = Rk3568DmaPrep,
|
|
412
|
+
.DmaSubmit = Rk3568DmaSubmit,
|
|
413
|
+
.DmaPending = Rk3568DmaPending,
|
|
414
|
+
.DmaPause = Rk3568DmaPause,
|
|
415
|
+
.DmaResume = Rk3568DmaResume,
|
|
416
|
+
.DmaPointer = Rk3568PcmPointer,
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
struct PlatformData g_platformData = {
|
|
420
|
+
.PlatformInit = AudioDmaDeviceInit,
|
|
421
|
+
.ops = &g_dmaDeviceOps,
|
|
422
|
+
};
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
3. 完成 bind、init和release函数的实现。
|
|
426
|
+
|
|
427
|
+
4. 验证。
|
|
428
|
+
|
|
429
|
+
在bind和init函数加调试日志,编译版本并获取系统系统日志。
|
|
430
|
+
|
|
431
|
+
```
|
|
432
|
+
[ 1.548469] [E/rk3568_platform_adapter] [PlatformDriverBind][line:42]: entry!
|
|
433
|
+
[ 1.548481] [E/rk3568_platform_adapter] [PlatformDriverBind][line:58]: success!
|
|
434
|
+
[ 1.548492] [E/rk3568_platform_adapter] [PlatformDriverInit][line:100]: entry.
|
|
435
|
+
[ 1.548504] [E/rk3568_platform_adapter] [PlatformGetServiceName][line:67]: entry!
|
|
436
|
+
[ 1.548515] [E/rk3568_platform_adapter] [PlatformGetServiceName][line:91]: success!
|
|
437
|
+
[ 1.548528] [E/audio_core] [AudioSocRegisterPlatform][line:63]: Register [dma_service_0] success.
|
|
438
|
+
[ 1.548536] [E/rk3568_platform_adapter] [PlatformDriverInit][line:119]: success.
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
#### 驱动适配
|
|
442
|
+
|
|
443
|
+
##### code/accessory模块
|
|
444
|
+
|
|
445
|
+
1. 读取DTS文件,获取到对应设备节点,使用Linux原生的驱动注册函数,获取到对应device。
|
|
446
|
+
|
|
447
|
+
```
|
|
448
|
+
static int rk817_platform_probe(struct platform_device *pdev) {
|
|
449
|
+
rk817_pdev = pdev;
|
|
450
|
+
dev_info(&pdev->dev, "got rk817-codec platform_device");
|
|
451
|
+
return 0;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
static struct platform_driver rk817_codec_driver = {
|
|
455
|
+
.driver = {
|
|
456
|
+
.name = "rk817-codec", // codec node in dts file.
|
|
457
|
+
.of_match_table = rk817_codec_dt_ids,
|
|
458
|
+
},
|
|
459
|
+
.probe = rk817_platform_probe,
|
|
460
|
+
.remove = rk817_platform_remove,
|
|
461
|
+
};
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
2. 读写寄存器函数封装。
|
|
465
|
+
根据上述获取到的device, 使用Linux的regmap函数,开发者不需要获取模块的基地址,
|
|
466
|
+
获取rk817的regmap代码段。
|
|
467
|
+
|
|
468
|
+
```
|
|
469
|
+
g_chip = devm_kzalloc(&rk817_pdev->dev, sizeof(struct Rk809ChipData), GFP_KERNEL);
|
|
470
|
+
if (!g_chip) {
|
|
471
|
+
AUDIO_DEVICE_LOG_ERR("no memory");
|
|
472
|
+
return HDF_ERR_MALLOC_FAIL;
|
|
473
|
+
}
|
|
474
|
+
g_chip->pdev = rk817_pdev;
|
|
475
|
+
|
|
476
|
+
struct rk808 *rk808 = dev_get_drvdata(g_chip->pdev->dev.parent);
|
|
477
|
+
if (!rk808) {
|
|
478
|
+
AUDIO_DEVICE_LOG_ERR("%s: rk808 is NULL\n", __func__);
|
|
479
|
+
ret = HDF_FAILURE;
|
|
480
|
+
RK809ChipRelease();
|
|
481
|
+
return ret;
|
|
482
|
+
}
|
|
483
|
+
g_chip->regmap = devm_regmap_init_i2c(rk808->i2c,
|
|
484
|
+
&rk817_codec_regmap_config);
|
|
485
|
+
if (IS_ERR(g_chip->regmap)) {
|
|
486
|
+
AUDIO_DEVICE_LOG_ERR("failed to allocate regmap: %ld\n", PTR_ERR(g_chip->regmap));
|
|
487
|
+
RK809ChipRelease();
|
|
488
|
+
return ret;
|
|
489
|
+
}
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
寄存器读写函数代码段。
|
|
493
|
+
|
|
494
|
+
```
|
|
495
|
+
int32_t Rk809DeviceRegRead(uint32_t reg, uint32_t *val)
|
|
496
|
+
{
|
|
497
|
+
if (regmap_read(g_chip->regmap, reg, val)) {
|
|
498
|
+
AUDIO_DRIVER_LOG_ERR("read register fail: [%04x]", reg);
|
|
499
|
+
return HDF_FAILURE;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
return HDF_SUCCESS;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
int32_t Rk809DeviceRegWrite(uint32_t reg, uint32_t value) {
|
|
506
|
+
if (regmap_write(g_chip->regmap, reg, value)) {
|
|
507
|
+
AUDIO_DRIVER_LOG_ERR("write register fail: [%04x] = %04x", reg, value);
|
|
508
|
+
return HDF_FAILURE;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
return HDF_SUCCESS;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
int32_t Rk809DeviceRegUpdatebits(uint32_t reg, uint32_t mask, uint32_t value) {
|
|
515
|
+
if (regmap_update_bits(g_chip->regmap, reg, mask, value)) {
|
|
516
|
+
AUDIO_DRIVER_LOG_ERR("update register bits fail: [%04x] = %04x", reg, value);
|
|
517
|
+
return HDF_FAILURE;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
return HDF_SUCCESS;
|
|
521
|
+
}
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
3. 寄存器初始化函数。
|
|
525
|
+
|
|
526
|
+
因为使用Linux的regmap函数,所以需要自行定义RegDefaultInit函数,读取hcs中initSeqConfig的寄存器以及数值来进行配置。
|
|
527
|
+
|
|
528
|
+
RK809RegDefaultInit代码段。
|
|
529
|
+
|
|
530
|
+
```c
|
|
531
|
+
int32_t RK809RegDefaultInit(struct AudioRegCfgGroupNode **regCfgGroup)
|
|
532
|
+
{
|
|
533
|
+
int32_t i;
|
|
534
|
+
struct AudioAddrConfig *regAttr = NULL;
|
|
535
|
+
|
|
536
|
+
if (regCfgGroup == NULL || regCfgGroup[AUDIO_INIT_GROUP] == NULL ||
|
|
537
|
+
regCfgGroup[AUDIO_INIT_GROUP]->addrCfgItem == NULL || regCfgGroup[AUDIO_INIT_GROUP]->itemNum <= 0) {
|
|
538
|
+
AUDIO_DEVICE_LOG_ERR("input invalid parameter.");
|
|
539
|
+
|
|
540
|
+
return HDF_ERR_INVALID_PARAM;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
regAttr = regCfgGroup[AUDIO_INIT_GROUP]->addrCfgItem;
|
|
544
|
+
|
|
545
|
+
for (i = 0; i < regCfgGroup[AUDIO_INIT_GROUP]->itemNum; i++) {
|
|
546
|
+
Rk809DeviceRegWrite(regAttr[i].addr, regAttr[i].value);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
return HDF_SUCCESS;
|
|
550
|
+
}
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
4. 封装控制接口的读写函数。
|
|
554
|
+
|
|
555
|
+
设置控制读写函数为RK809CodecReadReg和RK809CodecWriteReg。
|
|
556
|
+
|
|
557
|
+
```c
|
|
558
|
+
struct CodecData g_rk809Data = {
|
|
559
|
+
.Init = Rk809DeviceInit,
|
|
560
|
+
.Read = RK809CodecReadReg,
|
|
561
|
+
.Write = RK809CodecWriteReg,
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
struct AudioDaiOps g_rk809DaiDeviceOps = {
|
|
565
|
+
.Startup = Rk809DaiStartup,
|
|
566
|
+
.HwParams = Rk809DaiHwParams,
|
|
567
|
+
.Trigger = RK809NormalTrigger,
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
struct DaiData g_rk809DaiData = {
|
|
571
|
+
.DaiInit = Rk809DaiDeviceInit,
|
|
572
|
+
.ops = &g_rk809DaiDeviceOps,
|
|
573
|
+
};
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
封装控制接口的读写函数。
|
|
577
|
+
|
|
578
|
+
因为原来的读写原型,涉及三个参数(unsigned long virtualAddress,uint32_t reg, uint32_t *val),其中virtualAddress我们并不需要用到,所以封装个接口即可,封装如下:
|
|
579
|
+
|
|
580
|
+
```c
|
|
581
|
+
int32_t RK809CodecReadReg(unsigned long virtualAddress,uint32_t reg, uint32_t *val)
|
|
582
|
+
{
|
|
583
|
+
if (val == NULL) {
|
|
584
|
+
AUDIO_DRIVER_LOG_ERR("param val is null.");
|
|
585
|
+
return HDF_FAILURE;
|
|
586
|
+
}
|
|
587
|
+
if (Rk809DeviceRegRead(reg, val)) {
|
|
588
|
+
AUDIO_DRIVER_LOG_ERR("read register fail: [%04x]", reg);
|
|
589
|
+
return HDF_FAILURE;
|
|
590
|
+
}
|
|
591
|
+
ADM_LOG_ERR("read reg 0x[%02x] = 0x[%02x]",reg,*val);
|
|
592
|
+
return HDF_SUCCESS;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
int32_t RK809CodecWriteReg(unsigned long virtualAddress,uint32_t reg, uint32_t value)
|
|
596
|
+
{
|
|
597
|
+
if (Rk809DeviceRegWrite(reg, value)) {
|
|
598
|
+
AUDIO_DRIVER_LOG_ERR("write register fail: [%04x] = %04x", reg, value);
|
|
599
|
+
return HDF_FAILURE;
|
|
600
|
+
}
|
|
601
|
+
ADM_LOG_ERR("write reg 0x[%02x] = 0x[%02x]",reg,value);
|
|
602
|
+
return HDF_SUCCESS;
|
|
603
|
+
}
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
5. 其他ops函数。
|
|
607
|
+
|
|
608
|
+
- Rk809DeviceInit,读取hcs文件,初始化Codec寄存器,同时将对应的control配置(/* reg, rreg, shift, rshift, min, max, mask, invert, value */添加到kcontrol,便于dispatch contro进行控制。
|
|
609
|
+
- Rk809DaiStartup, 读取hcs文件,配置可选设备(codec/accessory)的控制寄存器。
|
|
610
|
+
- Rk809DaiHwParams, 根据hal下发的audio attrs(采样率、format、channel等),配置对应的寄存器。
|
|
611
|
+
- RK809NormalTrigger,根据hal下发的操作命令码,操作对应的寄存器,实现Codec的启动停止、录音和放音的切换等。
|
|
612
|
+
|
|
613
|
+
##### DAI(i2s)模块
|
|
614
|
+
|
|
615
|
+
1. 读写寄存器函数。
|
|
616
|
+
思路与Codec模块的一致,读取Linux DTS文件,使用Linux的regmap函数完成寄存器的读写操作。
|
|
617
|
+
|
|
618
|
+
```c
|
|
619
|
+
int32_t Rk3568DeviceReadReg(unsigned long regBase, uint32_t reg, uint32_t *val)
|
|
620
|
+
{
|
|
621
|
+
AUDIO_DEVICE_LOG_ERR("entry");
|
|
622
|
+
(void)regBase;
|
|
623
|
+
struct device_node *dmaOfNode = of_find_node_by_path("/i2s@fe410000");
|
|
624
|
+
if(dmaOfNode == NULL) {
|
|
625
|
+
AUDIO_DEVICE_LOG_ERR("of_node is NULL.");
|
|
626
|
+
}
|
|
627
|
+
struct platform_device *platformdev = of_find_device_by_node(dmaOfNode);
|
|
628
|
+
struct rk3568_i2s_tdm_dev *i2s_tdm = dev_get_drvdata(&platformdev->dev);
|
|
629
|
+
|
|
630
|
+
(void)regBase;
|
|
631
|
+
if (regmap_read(i2s_tdm->regmap, reg, val)) {
|
|
632
|
+
AUDIO_DEVICE_LOG_ERR("read register fail: [%04x]", reg);
|
|
633
|
+
return HDF_FAILURE;
|
|
634
|
+
}
|
|
635
|
+
return HDF_SUCCESS;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
int32_t Rk3568DeviceWriteReg(unsigned long regBase, uint32_t reg, uint32_t value)
|
|
639
|
+
{
|
|
640
|
+
AUDIO_DEVICE_LOG_ERR("entry");
|
|
641
|
+
(void)regBase;
|
|
642
|
+
struct device_node *dmaOfNode = of_find_node_by_path("/i2s@fe410000");
|
|
643
|
+
if(dmaOfNode == NULL) {
|
|
644
|
+
AUDIO_DEVICE_LOG_ERR("of_node is NULL.");
|
|
645
|
+
}
|
|
646
|
+
struct platform_device *platformdev = of_find_device_by_node(dmaOfNode);
|
|
647
|
+
struct rk3568_i2s_tdm_dev *i2s_tdm = dev_get_drvdata(&platformdev->dev);
|
|
648
|
+
if (regmap_write(i2s_tdm->regmap, reg, value)) {
|
|
649
|
+
AUDIO_DEVICE_LOG_ERR("write register fail: [%04x] = %04x", reg, value);
|
|
650
|
+
return HDF_FAILURE;
|
|
651
|
+
}
|
|
652
|
+
return HDF_SUCCESS;
|
|
653
|
+
}
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
2. 其他ops函数。
|
|
657
|
+
|
|
658
|
+
- Rk3568DaiDeviceInit
|
|
659
|
+
原始框架,主要完成DAI_config.hcs参数列表的读取,与HwParams结合,完成参数的设置。
|
|
660
|
+
|
|
661
|
+
- Rk3568DaiHwParams
|
|
662
|
+
主要完成I2S MCLK/BCLK/LRCLK时钟配置。
|
|
663
|
+
|
|
664
|
+
1. 根据不同采样率计算MCLK。
|
|
665
|
+
|
|
666
|
+
```c
|
|
667
|
+
int32_t RK3568I2sTdmSetSysClk(struct rk3568_i2s_tdm_dev *i2s_tdm, const struct AudioPcmHwParams *param)
|
|
668
|
+
{
|
|
669
|
+
/* Put set mclk rate into rockchip_i2s_tdm_set_mclk() */
|
|
670
|
+
uint32_t sampleRate = param->rate;
|
|
671
|
+
uint32_t mclk_parent_freq = 0;
|
|
672
|
+
switch (sampleRate) {
|
|
673
|
+
case AUDIO_DEVICE_SAMPLE_RATE_8000:
|
|
674
|
+
case AUDIO_DEVICE_SAMPLE_RATE_16000:
|
|
675
|
+
case AUDIO_DEVICE_SAMPLE_RATE_24000:
|
|
676
|
+
case AUDIO_DEVICE_SAMPLE_RATE_32000:
|
|
677
|
+
case AUDIO_DEVICE_SAMPLE_RATE_48000:
|
|
678
|
+
case AUDIO_DEVICE_SAMPLE_RATE_64000:
|
|
679
|
+
case AUDIO_DEVICE_SAMPLE_RATE_96000:
|
|
680
|
+
mclk_parent_freq = i2s_tdm->bclk_fs * AUDIO_DEVICE_SAMPLE_RATE_192000;
|
|
681
|
+
break;
|
|
682
|
+
case AUDIO_DEVICE_SAMPLE_RATE_11025:
|
|
683
|
+
case AUDIO_DEVICE_SAMPLE_RATE_22050:
|
|
684
|
+
case AUDIO_DEVICE_SAMPLE_RATE_44100:
|
|
685
|
+
|
|
686
|
+
mclk_parent_freq = i2s_tdm->bclk_fs * AUDIO_DEVICE_SAMPLE_RATE_176400;
|
|
687
|
+
break;
|
|
688
|
+
default:
|
|
689
|
+
AUDIO_DEVICE_LOG_ERR("Invalid LRCK freq: %u Hz\n", sampleRate);
|
|
690
|
+
return HDF_FAILURE;
|
|
691
|
+
}
|
|
692
|
+
i2s_tdm->mclk_tx_freq = mclk_parent_freq;
|
|
693
|
+
i2s_tdm->mclk_rx_freq = mclk_parent_freq;
|
|
694
|
+
|
|
695
|
+
return HDF_SUCCESS;
|
|
696
|
+
}
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
2. 根据获取的mclk,计算BCLK/LRclk分频系数。
|
|
700
|
+
|
|
701
|
+
- Rk3568NormalTrigger
|
|
702
|
+
根据输入输出类型,以及cmd(启动/停止/暂停/恢复),完成一系列配置:
|
|
703
|
+
|
|
704
|
+
1. mclk的启停。
|
|
705
|
+
2. DMA搬运的启停。
|
|
706
|
+
3. 传输的启停。
|
|
707
|
+
详细实现见代码,参考Linux原生I2s驱动对应接口函数。
|
|
708
|
+
|
|
709
|
+
```c
|
|
710
|
+
// 启动/恢复流程。
|
|
711
|
+
if (streamType == AUDIO_RENDER_STREAM) {
|
|
712
|
+
clk_prepare_enable(i2s_tdm->mclk_tx);
|
|
713
|
+
regmap_update_bits(i2s_tdm->regmap, I2S_DMACR,
|
|
714
|
+
I2S_DMACR_TDE_ENABLE,
|
|
715
|
+
I2S_DMACR_TDE_ENABLE);
|
|
716
|
+
} else {
|
|
717
|
+
clk_prepare_enable(i2s_tdm->mclk_rx);
|
|
718
|
+
regmap_update_bits(i2s_tdm->regmap, I2S_DMACR,
|
|
719
|
+
I2S_DMACR_RDE_ENABLE,
|
|
720
|
+
I2S_DMACR_RDE_ENABLE);
|
|
721
|
+
if (regmap_read(i2s_tdm->regmap, I2S_DMACR, &val)) {
|
|
722
|
+
AUDIO_DEVICE_LOG_ERR("read register fail: [%04x]", I2S_DMACR);
|
|
723
|
+
return ;
|
|
724
|
+
}
|
|
725
|
+
AUDIO_DEVICE_LOG_ERR("i2s reg: 0x%x = 0x%x ", I2S_DMACR, val);
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
if (atomic_inc_return(&i2s_tdm->refcount) == 1) {
|
|
729
|
+
regmap_update_bits(i2s_tdm->regmap, I2S_XFER,
|
|
730
|
+
I2S_XFER_TXS_START |
|
|
731
|
+
I2S_XFER_RXS_START,
|
|
732
|
+
I2S_XFER_TXS_START |
|
|
733
|
+
I2S_XFER_RXS_START);
|
|
734
|
+
if (regmap_read(i2s_tdm->regmap, I2S_XFER, &val)) {
|
|
735
|
+
AUDIO_DEVICE_LOG_ERR("read register fail: [%04x]", I2S_XFER);
|
|
736
|
+
return ;
|
|
737
|
+
}
|
|
738
|
+
AUDIO_DEVICE_LOG_ERR("i2s reg: 0x%x = 0x%x ", I2S_XFER, val);
|
|
739
|
+
}
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
##### Platform(DMA)模块
|
|
743
|
+
|
|
744
|
+
ops函数相关函数。
|
|
745
|
+
|
|
746
|
+
1. Rk3568DmaBufAlloc/Rk3568DmaBufFree.
|
|
747
|
+
|
|
748
|
+
获取DMA设备节点,参考I2s设备获取方式,使用系统函数dma_alloc_wc/dma_free_wc,完成DMA虚拟内存与物理内存的申请/释放。
|
|
749
|
+
|
|
750
|
+
2. Rk3568DmaRequestChannel.
|
|
751
|
+
|
|
752
|
+
使用Linux DMA原生接口函数获取DMA传输通道,dma_request_slave_channel。
|
|
753
|
+
|
|
754
|
+
```
|
|
755
|
+
dmaRtd->dmaChn[streamType] = dma_request_slave_channel(dmaDevice, dmaChannelNames[streamType]);
|
|
756
|
+
```
|
|
757
|
+
|
|
758
|
+
3. Rk3568DmaConfigChannel.
|
|
759
|
+
|
|
760
|
+
```
|
|
761
|
+
//设置通道配置参数。
|
|
762
|
+
// 放音通道参数配置。
|
|
763
|
+
slave_config.direction = DMA_MEM_TO_DEV;
|
|
764
|
+
slave_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
|
765
|
+
slave_config.dst_addr = I2S1_ADDR + I2S_TXDR;
|
|
766
|
+
slave_config.dst_maxburst = 8;
|
|
767
|
+
// 录音通道参数配置。
|
|
768
|
+
slave_config.direction = DMA_DEV_TO_MEM;
|
|
769
|
+
slave_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
|
770
|
+
slave_config.src_addr = I2S1_ADDR + I2S_RXDR;
|
|
771
|
+
slave_config.src_maxburst = 8;
|
|
772
|
+
|
|
773
|
+
//使用Linux DMA原生接口函数完成DMA通道配置。
|
|
774
|
+
ret = dmaengine_slave_config(dmaChan, &slave_config);
|
|
775
|
+
if (ret != 0) {
|
|
776
|
+
AUDIO_DEVICE_LOG_ERR("dmaengine_slave_config failed");
|
|
777
|
+
return HDF_FAILURE;
|
|
778
|
+
}
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
4. Rk3568DmaSubmit/Rk3568DmaPending.
|
|
782
|
+
|
|
783
|
+
使用Linux DMA原生接口函数dmaengine_prep_dma_cyclic,初始化一个具体的周期性的DMA传输描述符dmaengine_submit接口将该描述符放到传输队列上,然后调用dma_async_issue_pending接口,启动传输。
|
|
784
|
+
|
|
785
|
+
5. Rk3568PcmPointer.
|
|
786
|
+
|
|
787
|
+
第4步完成之后,ADM框架调用Rk3568PcmPointer,循环写cirBuf,计算pointer。
|
|
788
|
+
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
dma_chn = dmaRtd->dmaChn[DMA_TX_CHANNEL];
|
|
792
|
+
buf_size = data->renderBufInfo.cirBufSize;
|
|
793
|
+
dmaengine_tx_status(dma_chn, dmaRtd->cookie[DMA_TX_CHANNEL], &dma_state);
|
|
794
|
+
if (dma_state.residue) {
|
|
795
|
+
currentPointer = buf_size - dma_state.residue;
|
|
796
|
+
*pointer = BytesToFrames(data->pcmInfo.frameSize, currentPointer);
|
|
797
|
+
} else {
|
|
798
|
+
*pointer = 0;
|
|
799
|
+
}
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
6. Rk3568DmaPause.
|
|
803
|
+
|
|
804
|
+
使用Linux DMA原生接口函数dmaengine_terminate_async,停止DMA传输。
|
|
805
|
+
|
|
806
|
+
```
|
|
807
|
+
dmaengine_terminate_async(dmaChan);
|
|
808
|
+
```
|
|
809
|
+
|
|
810
|
+
7. Rk3568DmaResume.
|
|
811
|
+
|
|
812
|
+
暂停使用的DMA停止函数,对应恢复,相当于重启DMA传输,执行Rk3568DmaSubmit/Rk3568DmaPending相关操作即可完成。
|
|
813
|
+
|
|
814
|
+
##### 适配中遇到问题与解决方案
|
|
815
|
+
|
|
816
|
+
1. 播放一段时间后,停止播放,持续有尖锐的很小的声音。
|
|
817
|
+
问题原因:播放停止后,Codec相关器件没有下电。
|
|
818
|
+
解决方案:注册Codec的trigger函数,当接收到Cmd为Stop时,对Codec进行下电。
|
|
819
|
+
|
|
820
|
+
2. 播放一段时间后,停止播放,然后重新播放没有声音。
|
|
821
|
+
问题原因:DMA驱动的PAUSE接口函数,并未停止DMA传输。
|
|
822
|
+
解决方案:暂停状态不再使用DMA的PAUSE函数,而是使用DAM传输停止接口; 相对应的,恢复函数的业务逻辑相当于重启DMA传输,执行 Rk3568DmaSubmit/Rk3568DmaPending相关操作即可完成。
|
|
823
|
+
|
|
824
|
+
3. 播放存在杂音。
|
|
825
|
+
问题原因:DMA数据搬运pointer位置不正确。
|
|
826
|
+
解决方案:Rk3568PcmPointer函数返回值为DMA搬运的内存位置,用缓存区buf与dma_state.residue的差值计算。
|
|
827
|
+
|
|
828
|
+
4. 可以放音,但Mclk引脚没有时钟信号。
|
|
829
|
+
问题原因:DTS文件pin-ctrl没有配置mclk的引脚。
|
|
830
|
+
解决方案:修改DTS文件。
|
|
831
|
+
|
|
832
|
+
### Camera
|
|
833
|
+
|
|
834
|
+
**基本概念**
|
|
835
|
+
|
|
836
|
+
OpenHarmony相机驱动框架模型对上实现相机HDI接口,对下实现相机Pipeline模型,管理相机各个硬件设备。各层的基本概念如下。
|
|
837
|
+
|
|
838
|
+
1. HDI实现层:对上实现OHOS相机标准南向接口。
|
|
839
|
+
|
|
840
|
+
2. 框架层:对接HDI实现层的控制、流的转发,实现数据通路的搭建、管理相机各个硬件设备等功能。
|
|
841
|
+
|
|
842
|
+
3. 适配层:屏蔽底层芯片和OS差异,支持多平台适配。
|
|
843
|
+
|
|
844
|
+
### Camera驱动框架介绍
|
|
845
|
+
|
|
846
|
+
#### 源码框架介绍
|
|
847
|
+
|
|
848
|
+
Camera 驱动框架所在的仓为:drivers_peripheral,源码目录为:“drivers/peripheral/camera”。
|
|
849
|
+
|
|
850
|
+
```
|
|
851
|
+
|-- README_zh.md
|
|
852
|
+
|-- figures
|
|
853
|
+
| -- logic-view-of-modules-related-to-this-repository_zh.png
|
|
854
|
+
|-- hal
|
|
855
|
+
| |-- BUILD.gn #Camera驱动框架构建入口。
|
|
856
|
+
| |-- adapter #平台适配层,适配平台。
|
|
857
|
+
| |-- buffer_manager
|
|
858
|
+
| |-- camera.gni #定义组件所使用的全局变量。
|
|
859
|
+
| |-- device_manager
|
|
860
|
+
| |-- hdi_impl
|
|
861
|
+
| |-- include
|
|
862
|
+
| |-- init #demo sample.
|
|
863
|
+
| |-- pipeline_core
|
|
864
|
+
| |-- test #测试代码。
|
|
865
|
+
| |-- utils
|
|
866
|
+
|-- hal_c #为海思平台提供专用C接口。
|
|
867
|
+
| |-- BUILD.gn
|
|
868
|
+
| |-- camera.gni
|
|
869
|
+
| |-- hdi_cif
|
|
870
|
+
| |-- include
|
|
871
|
+
|-- interfaces #HDI接口。
|
|
872
|
+
|-- hdi_ipc
|
|
873
|
+
|-- hdi_passthrough
|
|
874
|
+
|-- include
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
Camera hcs文件是每个chipset可配置的。所以放在chipset相关的仓下。以rk3568为例。仓名为: vendor_hihope,源码目录为:“vendor/hihope/rk3568/hdf_config/uhdf/camera”。
|
|
878
|
+
|
|
879
|
+
├── hdi_impl
|
|
880
|
+
│ └── camera_host_config.hcs
|
|
881
|
+
└── pipeline_core
|
|
882
|
+
├── config.hcs
|
|
883
|
+
├── ipp_algo_config.hcs
|
|
884
|
+
└── params.hcs
|
|
885
|
+
Camera chipset 相关代码路径以3568为例仓名为:device_hihope。路径为:device/board/hihope/rk3568/camera/
|
|
886
|
+
```
|
|
887
|
+
├── BUILD.gn
|
|
888
|
+
├── demo
|
|
889
|
+
│ └── include
|
|
890
|
+
│ └── project_camera_demo.h
|
|
891
|
+
├── device_manager
|
|
892
|
+
│ ├── BUILD.gn
|
|
893
|
+
│ ├── include
|
|
894
|
+
│ │ ├── imx600.h
|
|
895
|
+
│ │ ├── project_hardware.h
|
|
896
|
+
│ │ └── rkispv5.h
|
|
897
|
+
│ └── src
|
|
898
|
+
│ ├── imx600.cpp
|
|
899
|
+
│ └── rkispv5.cpp
|
|
900
|
+
├── driver_adapter
|
|
901
|
+
│ └── test
|
|
902
|
+
│ ├── BUILD.gn
|
|
903
|
+
│ ├── unittest
|
|
904
|
+
│ │ ├── include
|
|
905
|
+
│ │ │ └── utest_v4l2_dev.h
|
|
906
|
+
│ │ └── src
|
|
907
|
+
│ │ └── utest_v4l2_dev.cpp
|
|
908
|
+
│ └── v4l2_test
|
|
909
|
+
│ └── include
|
|
910
|
+
│ └── project_v4l2_main.h
|
|
911
|
+
└── pipeline_core
|
|
912
|
+
├── BUILD.gn
|
|
913
|
+
└── src
|
|
914
|
+
├── ipp_algo_example
|
|
915
|
+
│ └── ipp_algo_example.c
|
|
916
|
+
└── node
|
|
917
|
+
├── rk_codec_node.cpp
|
|
918
|
+
└── rk_codec_node.h
|
|
919
|
+
```
|
|
920
|
+
#### Camera 驱动框架配置
|
|
921
|
+
|
|
922
|
+
RK3568 配置文件路径:
|
|
923
|
+
|
|
924
|
+
“vendor/hihope/rk3568/hdf_config/uhdf/device_info.hcs”。说明:其他平台可参考RK3568适配。
|
|
925
|
+
|
|
926
|
+
```
|
|
927
|
+
hdi_server :: host {
|
|
928
|
+
hostName = "camera_host";
|
|
929
|
+
priority = 50;
|
|
930
|
+
caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
|
|
931
|
+
camera_device :: device {
|
|
932
|
+
device0 :: deviceNode {
|
|
933
|
+
policy = 2;
|
|
934
|
+
priority = 100;
|
|
935
|
+
moduleName = "libcamera_hdi_impl.z.so";
|
|
936
|
+
serviceName = "camera_service";
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
...
|
|
940
|
+
}
|
|
941
|
+
```
|
|
942
|
+
|
|
943
|
+
参数说明:
|
|
944
|
+
Host:一个host节点即为一个独立进程,如果需要独立进程,新增属于自己的host节点。
|
|
945
|
+
Policy: 服务发布策略,HDI服务请设置为“**2**”
|
|
946
|
+
moduleName: 驱动实现库名。
|
|
947
|
+
serviceName:服务名称,请保持全局唯一性。
|
|
948
|
+
|
|
949
|
+
Camera_host驱动实现入口。
|
|
950
|
+
|
|
951
|
+
文件路径:drivers/peripheral/camera/interfaces/hdi_ipc/server/src/camera_host_driver.cpp
|
|
952
|
+
|
|
953
|
+
分发设备服务消息。
|
|
954
|
+
cmd Id:请求消息命令字。
|
|
955
|
+
Data:其他服务或者IO请求数据。
|
|
956
|
+
Reply:存储返回消息内容数据。
|
|
957
|
+
|
|
958
|
+
```
|
|
959
|
+
static int32_t CameraServiceDispatch(struct HdfDeviceIoClient *client, int cmdId,
|
|
960
|
+
struct HdfSBuf *data, struct HdfSBuf *reply)
|
|
961
|
+
{
|
|
962
|
+
HdfCameraService *hdfCameraService = CONTAINER_OF(client->device->service, HdfCameraService, ioservice);
|
|
963
|
+
return CameraHostServiceOnRemoteRequest(hdfCameraService->instance, cmdId, data, reply);
|
|
964
|
+
}
|
|
965
|
+
```
|
|
966
|
+
|
|
967
|
+
绑定设备服务:初始化设备服务对象和资源对象。
|
|
968
|
+
|
|
969
|
+
```
|
|
970
|
+
int HdfCameraHostDriverBind(HdfDeviceObject *deviceObject)
|
|
971
|
+
{
|
|
972
|
+
HDF_LOGI("HdfCameraHostDriverBind enter!");
|
|
973
|
+
if (deviceObject == nullptr) {
|
|
974
|
+
HDF_LOGE("HdfCameraHostDriverBind: HdfDeviceObject is NULL !");
|
|
975
|
+
return HDF_FAILURE;
|
|
976
|
+
}
|
|
977
|
+
```
|
|
978
|
+
|
|
979
|
+
驱动初始化函数: 探测并初始化驱动程序。
|
|
980
|
+
|
|
981
|
+
```
|
|
982
|
+
int HdfCameraHostDriverInit(struct HdfDeviceObject *deviceObject)
|
|
983
|
+
{
|
|
984
|
+
return HDF_SUCCESS;
|
|
985
|
+
}
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
驱动资源释放函数 : 如已经绑定的设备服务对象。
|
|
989
|
+
|
|
990
|
+
```
|
|
991
|
+
void HdfCameraHostDriverRelease(HdfDeviceObject *deviceObject)
|
|
992
|
+
{
|
|
993
|
+
if (deviceObject == nullptr || deviceObject->service == nullptr) {
|
|
994
|
+
HDF_LOGE("%{public}s deviceObject or deviceObject->service is NULL!", __FUNCTION__);
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
997
|
+
HdfCameraService *hdfCameraService = CONTAINER_OF(deviceObject->service, HdfCameraService, ioservice);
|
|
998
|
+
if (hdfCameraService == nullptr) {
|
|
999
|
+
HDF_LOGE("%{public}s hdfCameraService is NULL!", __FUNCTION__);
|
|
1000
|
+
return;
|
|
1001
|
+
}
|
|
1002
|
+
```
|
|
1003
|
+
|
|
1004
|
+
定义驱动描述符:将驱动代码注册给驱动框架。
|
|
1005
|
+
|
|
1006
|
+
|
|
1007
|
+
struct HdfDriverEntry g_cameraHostDriverEntry = {
|
|
1008
|
+
.moduleVersion = 1,
|
|
1009
|
+
.moduleName = "camera_service",
|
|
1010
|
+
.Bind = HdfCameraHostDriverBind,
|
|
1011
|
+
.Init = HdfCameraHostDriverInit,
|
|
1012
|
+
.Release = HdfCameraHostDriverRelease,
|
|
1013
|
+
};
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
#### Camera配置信息介绍
|
|
1017
|
+
|
|
1018
|
+
Camera模块内部,所有配置文件使用系统支持的HCS类型的配置文件,HCS类型的配置文件,在编译时,会转成HCB文件,最终烧录到开发板里的配置文件即为HCB格式,代码中通过HCS解析接口解析HCB文件,获取配置文件中的信息。
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
hc_gen("build_camera_host_config") {
|
|
1022
|
+
sources = [ rebase_path(
|
|
1023
|
+
"$camera_product_name_path/hdf_config/uhdf/camera/hdi_impl/camera_host_config.hcs") ]
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
ohos_prebuilt_etc("camera_host_config.hcb") {
|
|
1027
|
+
deps = [ ":build_camera_host_config" ]
|
|
1028
|
+
hcs_outputs = get_target_outputs(":build_camera_host_config")
|
|
1029
|
+
source = hcs_outputs[0]
|
|
1030
|
+
relative_install_dir = "hdfconfig"
|
|
1031
|
+
install_images = [ chipset_base_dir ]
|
|
1032
|
+
subsystem_name = "hdf"
|
|
1033
|
+
part_name = "camera_device_driver"
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
### Camera适配介绍
|
|
1037
|
+
|
|
1038
|
+
#### 新产品平台适配简介
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
drivers/peripheral/camera/hal/camera.gni 文件中可根据编译时传入的product_company product_name和device_name调用不同chipset的product.gni
|
|
1042
|
+
|
|
1043
|
+
if (defined(ohos_lite)) {
|
|
1044
|
+
import("//build/lite/config/component/lite_component.gni")
|
|
1045
|
+
import(
|
|
1046
|
+
"//device/soc/hisilicon/common/hal/media/camera/hi3516dv300/linux_standard/camera/product.gni")
|
|
1047
|
+
} else {
|
|
1048
|
+
import("//build/ohos.gni")
|
|
1049
|
+
if ("${product_name}" == "ohos-arm64") {
|
|
1050
|
+
import(
|
|
1051
|
+
"//drivers/peripheral/camera/hal/adapter/chipset/rpi/rpi3/device/camera/product.gni")
|
|
1052
|
+
} else if ("${product_name}" == "Hi3516DV300") {
|
|
1053
|
+
import(
|
|
1054
|
+
"//device/soc/hisilicon/common/hal/media/camera/hi3516dv300/linux_standard/camera/product.gni")
|
|
1055
|
+
} else if ("${product_name}" == "watchos") {
|
|
1056
|
+
import(
|
|
1057
|
+
"//device/soc/hisilicon/common/hal/media/camera/hi3516dv300/linux_standard/camera/product.gni")
|
|
1058
|
+
} else {
|
|
1059
|
+
import(
|
|
1060
|
+
"//device/board/${product_company}/${device_name}/camera/product.gni")
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
在如下路径的product.gni指定了编译不同chipset相关的代码的路径:
|
|
1065
|
+
|
|
1066
|
+
```
|
|
1067
|
+
device/${product_company}/${device_name}/camera/
|
|
1068
|
+
```
|
|
1069
|
+
|
|
1070
|
+
如下是rk3568的product.gni:
|
|
1071
|
+
|
|
1072
|
+
camera_device_name_path = "//device/board/${product_company}/${device_name}"
|
|
1073
|
+
is_support_v4l2 = true
|
|
1074
|
+
if (is_support_v4l2) {
|
|
1075
|
+
is_support_mpi = false
|
|
1076
|
+
defines += [ "SUPPORT_V4L2" ]
|
|
1077
|
+
chipset_build_deps = "$camera_device_name_path/camera/:chipset_build"
|
|
1078
|
+
camera_device_manager_deps =
|
|
1079
|
+
"$camera_device_name_path/camera/src/device_manager:camera_device_manager"
|
|
1080
|
+
camera_pipeline_core_deps =
|
|
1081
|
+
"$camera_device_name_path/camera/src/pipeline_core:camera_pipeline_core"
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
product.gni中指定了chipset_build_deps camera_device_manager_deps 和 camera_pipeline_core_deps 三个代码编译路径。该路径在drivers/peripheral/camera/hal/BUILD.gn中会被使用。
|
|
1085
|
+
|
|
1086
|
+
#### 框架适配介绍
|
|
1087
|
+
|
|
1088
|
+

|
|
1089
|
+
|
|
1090
|
+
|
|
1091
|
+
以V4l2为例,pipeline的连接方式是在HCS配置文件中配置连接,数据源我们称之为SourceNode,主要包括硬件设备的控制、数据流的轮转等。
|
|
1092
|
+
ISPNode可根据需要确定是否添加此Node,因为在很多操作上其都可以和SensorNode统一为SourceNode。SinkNode为pipeline中数据传输的重点,到此处会将数据传输回buffer queue中。
|
|
1093
|
+
|
|
1094
|
+
pipeline中的Node是硬件/软件模块的抽象,所以对于其中硬件模块Node,其是需要向下控制硬件模块的,在控制硬件模块前,需要先获取其对应硬件模块的deviceManager,通过deviceManager向下传输控制命令/数据buffer,所以deviceManager中有一个v4l2 device manager抽象模块,用来创建各个硬件设备的manager、controller.如上sensorManager、IspManager,sensorController等,所以v4l2 device manager其实是各个硬件设备总的一个管理者。
|
|
1095
|
+
|
|
1096
|
+
deviceManager中的controller和驱动适配层直接交互。
|
|
1097
|
+
|
|
1098
|
+
基于以上所描述,如需适配一款以linux v4l2框架的芯片平台,只需要修改适配如上图中颜色标记模块及HCS配置文件(如为标准v4l2框架,基本可以延用当前已适配代码),接下来单独介绍修改模块。
|
|
1099
|
+
|
|
1100
|
+
主要适配添加如下目录:
|
|
1101
|
+
|
|
1102
|
+
“vendor/hihope/rk3568/hdf_config/uhdf/camera/”:当前芯片产品的HCS配置文件目录。
|
|
1103
|
+
|
|
1104
|
+
“device/hihope/rk3568/camera/”:当前芯片产品的代码适配目录。
|
|
1105
|
+
|
|
1106
|
+
“drivers/peripheral/camera/hal/adapter/platform/v4l2”:平台通用公共代码。
|
|
1107
|
+
|
|
1108
|
+
#### HCS配置文件适配介绍
|
|
1109
|
+
|
|
1110
|
+
```
|
|
1111
|
+
├── hdi_impl
|
|
1112
|
+
│ └── camera_host_config.hcs
|
|
1113
|
+
└── pipeline_core
|
|
1114
|
+
├── config.hcs
|
|
1115
|
+
├── ipp_algo_config.hcs
|
|
1116
|
+
└── params.hcs
|
|
1117
|
+
```
|
|
1118
|
+
|
|
1119
|
+
以RK3568开发板为例,其hcs文件应该放在对应的路径中。
|
|
1120
|
+
|
|
1121
|
+
```
|
|
1122
|
+
vendor/${product_company}/${product_name}/ hdf_config/uhdf/camera/
|
|
1123
|
+
```
|
|
1124
|
+
|
|
1125
|
+
```
|
|
1126
|
+
template ability {
|
|
1127
|
+
logicCameraId = "lcam001";
|
|
1128
|
+
physicsCameraIds = [
|
|
1129
|
+
"CAMERA_FIRST",
|
|
1130
|
+
"CAMERA_SECOND"
|
|
1131
|
+
];
|
|
1132
|
+
metadata {
|
|
1133
|
+
aeAvailableAntiBandingModes = [
|
|
1134
|
+
"OHOS_CONTROL_AE_ANTIBANDING_MODE_OFF",
|
|
1135
|
+
"OHOS_CONTROL_AE_ANTIBANDING_MODE_50HZ",
|
|
1136
|
+
"OHOS_CONTROL_AE_ANTIBANDING_MODE_60HZ",
|
|
1137
|
+
"OHOS_CONTROL_AE_ANTIBANDING_MODE_AUTO"
|
|
1138
|
+
];
|
|
1139
|
+
|
|
1140
|
+
```
|
|
1141
|
+
|
|
1142
|
+
hdi_impl下的“camera_host_config.hcs”为物理/逻辑Camera配置、能力配置,此处的物理/逻辑Camera配置,需要在hal内部使用,逻辑Camera及能力配置需要上报给上层,请按照所适配的芯片产品添加其能力配置。其中所用的能力值为键值对,定义在//drivers/peripheral/camera/hal/hdi_impl/include/camera_host/metadata_enum_map.h中。
|
|
1143
|
+
|
|
1144
|
+
```
|
|
1145
|
+
normal_preview :: pipeline_spec {
|
|
1146
|
+
name = "normal_preview";
|
|
1147
|
+
v4l2_source :: node_spec {
|
|
1148
|
+
name = "v4l2_source#0";
|
|
1149
|
+
status = "new";
|
|
1150
|
+
out_port_0 :: port_spec {
|
|
1151
|
+
name = "out0";
|
|
1152
|
+
peer_port_name = "in0";
|
|
1153
|
+
peer_port_node_name = "sink#0";
|
|
1154
|
+
direction = 1;
|
|
1155
|
+
width = 0;
|
|
1156
|
+
height = 0;
|
|
1157
|
+
format = 0;
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
sink :: node_spec {
|
|
1161
|
+
name = "sink#0";
|
|
1162
|
+
status = "new";
|
|
1163
|
+
stream_type = "preview";
|
|
1164
|
+
in_port_0 :: port_spec {
|
|
1165
|
+
name = "in0";
|
|
1166
|
+
peer_port_name = "out0";
|
|
1167
|
+
peer_port_node_name = "v4l2_source#0";
|
|
1168
|
+
direction = 0;
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
```
|
|
1173
|
+
|
|
1174
|
+
pipeline_core下的“config.hcs”为pipeline的连接方式,按场景划分每一路流由哪些Node组成,其连接方式是怎样的。
|
|
1175
|
+
|
|
1176
|
+
上面为preview场景的示例,normal_preview为该场景的名称,source和sink为Node,source为数据数据源端,sink为末端,source为第一个node,node的名称是source#0,status、in/out_port分别为Node状态及输入/输出口的配置。
|
|
1177
|
+
|
|
1178
|
+
以in_port_0为例,name = “in0”代表它的输入为“port0”,它的对端为source node的port口out0口,direction为它的源Node和对端Node是否为直连方式。如新添加芯片产品,必须按实际连接方式配置此文件。
|
|
1179
|
+
|
|
1180
|
+
新增功能node时需继承NodeBase类,且在cpp文件中注册该node。具体可参考//drivers/peripheral/camera/hal/pipeline_core/nodes/src下已经实现的node。
|
|
1181
|
+
|
|
1182
|
+
|
|
1183
|
+
root {
|
|
1184
|
+
module = "";
|
|
1185
|
+
template stream_info {
|
|
1186
|
+
id = 0;
|
|
1187
|
+
name = "";
|
|
1188
|
+
}
|
|
1189
|
+
template scene_info {
|
|
1190
|
+
id = 0;
|
|
1191
|
+
name = "";
|
|
1192
|
+
}
|
|
1193
|
+
preview :: stream_info {
|
|
1194
|
+
id = 0;
|
|
1195
|
+
name = "preview";
|
|
1196
|
+
}
|
|
1197
|
+
video :: stream_info {
|
|
1198
|
+
id = 1;
|
|
1199
|
+
name = "video";
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
param.hcs为场景、流类型名及其id定义,pipeline内部是以流id区分流类型的,所以此处需要添加定义。
|
|
1204
|
+
|
|
1205
|
+
#### Chipset 和Platform适配介绍
|
|
1206
|
+
|
|
1207
|
+
platform为平台性公共代码,如linux标准v4l2适配接口定义,为v4l2框架适配的通用node.以及为v4l2框架适配的通用device_manager等。目录结构如下:
|
|
1208
|
+
|
|
1209
|
+
drivers/peripheral/camera/hal/adapter/platform
|
|
1210
|
+
├── mpp
|
|
1211
|
+
│ └── src
|
|
1212
|
+
│ ├── device_manager
|
|
1213
|
+
│ └── pipeline_core
|
|
1214
|
+
└── v4l2
|
|
1215
|
+
└── src
|
|
1216
|
+
├── device_manager
|
|
1217
|
+
├── driver_adapter
|
|
1218
|
+
└── pipeline_core
|
|
1219
|
+
|
|
1220
|
+
“platform”目录下的“v4l2”包含了“src”,“src”中“driver_adapter”为linux v4l2标准适配接口,如有定制化功能需求,可继承driver_adapter,将定制化的具体功能接口放在chipset中实现。如无芯片定制化功能,可直接使用已有的driver_adapter。
|
|
1221
|
+
|
|
1222
|
+
platform目录下的Nodes为依据linux v4l2标准实现的硬件模块v4l2_source_node和uvc_node(usb热插拔设备,此模块也为linux标准接口,可直接使用),如下图为v4l2_source_node的接口声明头文件。
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
namespace OHOS::Camera {
|
|
1226
|
+
class V4L2SourceNode : public SourceNode {
|
|
1227
|
+
public:
|
|
1228
|
+
V4L2SourceNode(const std::string& name, const std::string& type);
|
|
1229
|
+
~V4L2SourceNode() override;
|
|
1230
|
+
RetCode Init(const int32_t streamId) override;
|
|
1231
|
+
RetCode Start(const int32_t streamId) override;
|
|
1232
|
+
RetCode Flush(const int32_t streamId) override;
|
|
1233
|
+
RetCode Stop(const int32_t streamId) override;
|
|
1234
|
+
RetCode GetDeviceController();
|
|
1235
|
+
void SetBufferCallback() override;
|
|
1236
|
+
RetCode ProvideBuffers(std::shared_ptr\<FrameSpec\> frameSpec) override;
|
|
1237
|
+
|
|
1238
|
+
private:
|
|
1239
|
+
std::mutex requestLock_;
|
|
1240
|
+
std::map<int32_t, std::list<int32_t>> captureRequests_ = {};
|
|
1241
|
+
std::shared_ptr\<SensorController\> sensorController_ = nullptr;
|
|
1242
|
+
std::shared_ptr\<IDeviceManager\> deviceManager_ = nullptr;
|
|
1243
|
+
};
|
|
1244
|
+
} // namespace OHOS::Camera
|
|
1245
|
+
|
|
1246
|
+
Init接口为模块初始化接口。
|
|
1247
|
+
|
|
1248
|
+
Start为使能接口,比如start stream功能等。
|
|
1249
|
+
|
|
1250
|
+
Stop为停止接口。
|
|
1251
|
+
|
|
1252
|
+
GetDeviceController为获取deviceManager对应的controller接口。
|
|
1253
|
+
|
|
1254
|
+
chipset为具体某芯片平台相关代码,例如,如和“rk3568”开发板 为例。device_manager目录下可存放该开发板适配过的sensor的相关配置文件。pipeline_core路径下可以存放由chipset开发者为满足特点需求增加的pipeline node等。
|
|
1255
|
+
|
|
1256
|
+
```
|
|
1257
|
+
device/board/hihope/rk3568/camera
|
|
1258
|
+
├── BUILD.gn
|
|
1259
|
+
├── camera_demo
|
|
1260
|
+
│ └── project_camera_demo.h
|
|
1261
|
+
├── include
|
|
1262
|
+
│ └── device_manager
|
|
1263
|
+
├── product.gni
|
|
1264
|
+
└── src
|
|
1265
|
+
├── device_manager
|
|
1266
|
+
├── driver_adapter
|
|
1267
|
+
└── pipeline_core
|
|
1268
|
+
```
|
|
1269
|
+
|
|
1270
|
+
device/board/hihope/rk3568/camera/目录包含了“include”和“src”,“camera_demo”“src”中“device_manager”中包含了chipset 适配的sensor的文件,配合platform下device_manager的设备管理目录,主要对接pipeline,实现平台特有的硬件处理接口及数据buffer的下发和上报、metadata的交互。
|
|
1271
|
+
|
|
1272
|
+
下图为device_manager的实现框图,pipeline控制管理各个硬件模块,首先要获取对应设备的manager,通过manager获取其对应的controller,controller和对应的驱动进行交互。
|
|
1273
|
+
|
|
1274
|
+

|
|
1275
|
+
|
|
1276
|
+
deviceManager中需要实现关键接口介绍。
|
|
1277
|
+
|
|
1278
|
+
```
|
|
1279
|
+
class SensorController : public IController {
|
|
1280
|
+
public:
|
|
1281
|
+
SensorController();
|
|
1282
|
+
explicit SensorController(std::string hardwareName);
|
|
1283
|
+
virtual ~SensorController();
|
|
1284
|
+
RetCode Init();
|
|
1285
|
+
RetCode PowerUp();
|
|
1286
|
+
RetCode PowerDown();
|
|
1287
|
+
RetCode Configure(std::shared_ptr<CameraStandard::CameraMetadata> meta);
|
|
1288
|
+
RetCode Start(int buffCont, DeviceFormat& format);
|
|
1289
|
+
RetCode Stop();
|
|
1290
|
+
RetCode SendFrameBuffer(std::shared_ptr\<FrameSpec\> buffer);
|
|
1291
|
+
void SetNodeCallBack(const NodeBufferCb cb);
|
|
1292
|
+
void SetMetaDataCallBack(const MetaDataCb cb);
|
|
1293
|
+
void BufferCallback(std::shared_ptr\<FrameSpec\> buffer);
|
|
1294
|
+
void SetAbilityMetaDataTag(std::vector<int32_t> abilityMetaDataTag);
|
|
1295
|
+
}
|
|
1296
|
+
```
|
|
1297
|
+
|
|
1298
|
+
PowerUp为上电接口,OpenCamera时调用此接口进行设备上电操作。
|
|
1299
|
+
PowerDown为下电接口,CloseCamera时调用此接口进行设备下电操作。
|
|
1300
|
+
Configures为Metadata下发接口,如需设置metadata参数到硬件设备,可实现此接口进行解析及下发。
|
|
1301
|
+
Start为硬件模块使能接口,pipeline中的各个node进行使能的时候,会去调用,可根据需要定义实现,比如sensor的起流操作就可放在此处进行实现。
|
|
1302
|
+
Stop和Start为相反操作,可实现停流操作。
|
|
1303
|
+
SendFrameBuffer为每一帧buffer下发接口,所有和驱动进行buffer交互的操作,都是通过此接口进行的。
|
|
1304
|
+
SetNodeCallBack为pipeline,通过此接口将buffer回调函数设置到devicemanager。
|
|
1305
|
+
SetMetaDataCallBack为metadata回调接口,通过此接口将从底层获取的metadata数据上报给上层。
|
|
1306
|
+
BufferCallback上传每一帧已填充数据buffer的接口,通过此接口将buffer上报给pipeline。
|
|
1307
|
+
SetAbilityMetaDataTag设置需要从底层获取哪些类型的metadata数据,因为框架支持单独获取某一类型或多类型的硬件设备信息,所以可以通过此接口,获取想要的metadata数据。
|
|
1308
|
+
|
|
1309
|
+
其余接口可参考“drivers/peripheral/camera/hal/adapter/platform/v4l2/src/device_manager/”
|
|
1310
|
+
|
|
1311
|
+
#### IPP适配介绍
|
|
1312
|
+
|
|
1313
|
+
IPP是pipeline 中的一个算法插件模块,由ippnode加载,对流数据进行算法处理,ippnode支持同时多路数据输入,只支持一路数据输出。ippnode加载算法插件通过如下hcs文件指定:
|
|
1314
|
+
vendor/${product_company}/${product_name}/hdf_config/uhdf/camera/pipeline_core/ipp_algo_config.hcs 其中:
|
|
1315
|
+
|
|
1316
|
+
```
|
|
1317
|
+
root {
|
|
1318
|
+
module="sample";
|
|
1319
|
+
ipp_algo_config {
|
|
1320
|
+
algo1 {
|
|
1321
|
+
name = "example";
|
|
1322
|
+
description = "example algorithm";
|
|
1323
|
+
path = "libcamera_ipp_algo_example.z.so";
|
|
1324
|
+
mode = "IPP_ALGO_MODE_NORMAL";
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
```
|
|
1330
|
+
|
|
1331
|
+
name:算法插件名称。
|
|
1332
|
+
description:描述算法插件的功能。
|
|
1333
|
+
path:算法插件所在路径。
|
|
1334
|
+
mode:算法插件所运行的模式。
|
|
1335
|
+
|
|
1336
|
+
算法插件可运行的模式由 drivers/peripheral/camera/hal/pipeline_core/ipp/include/ipp_algo.h中的IppAlgoMode提供,可以根据需要进行扩展。
|
|
1337
|
+
|
|
1338
|
+
```
|
|
1339
|
+
enum IppAlgoMode {
|
|
1340
|
+
IPP_ALGO_MODE_BEGIN,
|
|
1341
|
+
IPP_ALGO_MODE_NORMAL = IPP_ALGO_MODE_BEGIN,
|
|
1342
|
+
IPP_ALGO_MODE_BEAUTY,
|
|
1343
|
+
IPP_ALGO_MODE_HDR,
|
|
1344
|
+
IPP_ALGO_MODE_END
|
|
1345
|
+
};
|
|
1346
|
+
```
|
|
1347
|
+
|
|
1348
|
+
算法插件由gn文件 device/${product_company}/${device_name}/camera/BUILD.gn进行编译,算法插件需实现如下接口(接口由ipp_algo.h指定)供ippnode调用:
|
|
1349
|
+
|
|
1350
|
+
typedef struct IppAlgoFunc {
|
|
1351
|
+
int (*Init)(IppAlgoMeta* meta);
|
|
1352
|
+
int (*Start)();
|
|
1353
|
+
int (*Flush)();
|
|
1354
|
+
int (*Process)(IppAlgoBuffer* inBuffer[], int inBufferCount, IppAlgoBuffer* outBuffer, IppAlgoMeta* meta);
|
|
1355
|
+
int (*Stop)();
|
|
1356
|
+
} IppAlgoFunc;
|
|
1357
|
+
|
|
1358
|
+
1) Init : 算法插件初始化接口,在起流前被ippnode 调用,其中IppAlgoMeta 定义在ipp_algo.h 中,为ippnode和算法插件提供非图像数据的传递通道,如当前运行的场景,算法处理后输出的人脸坐标等等,可根据实际需求进行扩展。
|
|
1359
|
+
2) Start:开始接口,起流时被ippnode 调用。
|
|
1360
|
+
3) Flush:刷新数据的接口,停流之前被ippnode 调用。此接口被调用时,算法插件需尽可能快地停止处理。
|
|
1361
|
+
4) Process: 数据处理接口,每帧数据都通过此接口输入至算法插件进行处理。inBuffer是一组输入buffer,inBufferCount是输入buffer 的个数,outBuffer是输出buffer,meta是算法处理时产生的非图像数据,IppAlgoBuffer在ipp_algo.h中定义。
|
|
1362
|
+
5) Stop:停止处理接口,停流时被ippnode调用。
|
|
1363
|
+
|
|
1364
|
+
|
|
1365
|
+
```
|
|
1366
|
+
typedef struct IppAlgoBuffer {
|
|
1367
|
+
void* addr;
|
|
1368
|
+
unsigned int width;
|
|
1369
|
+
unsigned int height;
|
|
1370
|
+
unsigned int stride;
|
|
1371
|
+
unsigned int size;
|
|
1372
|
+
int id;
|
|
1373
|
+
} IppAlgoBuffer;
|
|
1374
|
+
```
|
|
1375
|
+
|
|
1376
|
+
其中上边代码中的id指的是和ippnode对应的port口id,比如inBuffer[0]的id为0,则对应的是ippnode 的第0个输入port口。需要注意的是outBuffer可以为空,此时其中一个输入buffer 被ippnode作为输出buffer传递到下个node,inBuffer至少有一个buffer不为空。输入输出buffer 由pipeline配置决定。
|
|
1377
|
+
比如在普通预览场景无算法处理且只有一路拍照数据传递到ippnode的情况下,输入buffer只有一个,输出buffer为空,即对于算法插件输入buffer 进行了透传;
|
|
1378
|
+
比如算法插件进行两路预览图像数据进行合并的场景,第一路buffer需要预览送显示。把第二路图像拷贝到第一路的buffer即可,此时输入buffer有两个,输出buffer为空;
|
|
1379
|
+
比如在算法插件中进行预览数据格式转换的场景,yuv转换为RGBA,那么只有一个yuv格式的输入buffer的情况下无法完成RGBA格式buffer的输出,此时需要一个新的buffer,那么ippnode的输出port口buffer作为outBuffer传递到算法插件。也即输入buffer只有一个,输出buffer也有一个。
|
|
1380
|
+
|
|
1381
|
+
ippnode的port口配置请查看3.3小节的config.hcs的说明。
|
|
1382
|
+
|
|
1383
|
+
#### 适配V4L2驱动实例
|
|
1384
|
+
|
|
1385
|
+
本章节目的是在v4l2框架下适配RK3568开发板。
|
|
1386
|
+
|
|
1387
|
+
区分V4L2 platform相关代码并将其放置“drivers/peripheral/camera/hal/adapter/platform/v4l2”目录下,该目录中包含了“device_manager”“driver_adapter”和“pipeline_core”三个目录。其中“driver_adapter”目录中存放着v4l2协议相关代码。可通过它们实现与v4l2底层驱动交互。该目录下“Pipeline_core”目录与“drivers/peripheral/camera/hal/pipeline_core”中代码组合为pipeline框架。v4l2_source_node 和 uvc_node为v4l2专用Node。device_manager目录存放着向北与pipeline向南与v4l2 adapter交互的代码。
|
|
1388
|
+
|
|
1389
|
+
```
|
|
1390
|
+
drivers/peripheral/camera/hal/adapter/platform/v4l2/src/
|
|
1391
|
+
├── device_manager
|
|
1392
|
+
│ ├── enumerator_manager.cpp
|
|
1393
|
+
│ ├── flash_controller.cpp
|
|
1394
|
+
│ ├── flash_manager.cpp
|
|
1395
|
+
│ ├── idevice_manager.cpp
|
|
1396
|
+
│ ├── include
|
|
1397
|
+
│ ├── isp_controller.cpp
|
|
1398
|
+
│ ├── isp_manager.cpp
|
|
1399
|
+
│ ├── sensor_controller.cpp
|
|
1400
|
+
│ ├── sensor_manager.cpp
|
|
1401
|
+
│ └── v4l2_device_manager.cpp
|
|
1402
|
+
├── driver_adapter
|
|
1403
|
+
│ ├── BUILD.gn
|
|
1404
|
+
│ ├── include
|
|
1405
|
+
│ ├── main_test
|
|
1406
|
+
│ └── src
|
|
1407
|
+
└── pipeline_core
|
|
1408
|
+
└── nodes
|
|
1409
|
+
```
|
|
1410
|
+
|
|
1411
|
+
区分V4L2 chipset相关代码并将其放置在“device/ ${product_company}/${device_name} /camera”目录下。
|
|
1412
|
+
|
|
1413
|
+
```
|
|
1414
|
+
├── BUILD.gn
|
|
1415
|
+
├── camera_demo
|
|
1416
|
+
│ └── project_camera_demo.h
|
|
1417
|
+
├── include
|
|
1418
|
+
│ └── device_manager
|
|
1419
|
+
├── product.gni
|
|
1420
|
+
└── src
|
|
1421
|
+
├── device_manager
|
|
1422
|
+
├── driver_adapter
|
|
1423
|
+
└── pipeline_core
|
|
1424
|
+
```
|
|
1425
|
+
|
|
1426
|
+
其中“driver_adapter”目录中包含了关于RK3568 driver adapter的测试用例头文件。Camera_demo目录存放了camera hal 中demo测试用例的chipset相关的头文件。device_manager存放了RK3568适配的camera sensor 读取设备能力的代码 其中,project_hardware.h 比较关键,存放了device_manager支持当前chipset的设备列表。如下:
|
|
1427
|
+
|
|
1428
|
+
```
|
|
1429
|
+
namespace OHOS::Camera {
|
|
1430
|
+
std::vector<HardwareConfiguration> hardware = {
|
|
1431
|
+
{CAMERA_FIRST, DM_M_SENSOR, DM_C_SENSOR, (std::string) "rkisp_v5"},
|
|
1432
|
+
{CAMERA_FIRST, DM_M_ISP, DM_C_ISP, (std::string) "isp"},
|
|
1433
|
+
{CAMERA_FIRST, DM_M_FLASH, DM_C_FLASH, (std::string) "flash"},
|
|
1434
|
+
{CAMERA_SECOND, DM_M_SENSOR, DM_C_SENSOR, (std::string) "Imx600"},
|
|
1435
|
+
{CAMERA_SECOND, DM_M_ISP, DM_C_ISP, (std::string) "isp"},
|
|
1436
|
+
{CAMERA_SECOND, DM_M_FLASH, DM_C_FLASH, (std::string) "flash"}
|
|
1437
|
+
};
|
|
1438
|
+
} // namespace OHOS::Camera
|
|
1439
|
+
```
|
|
1440
|
+
|
|
1441
|
+
修改编译选项来达到根据不同的编译chipset来区分v4l2和其他框架代码编译。增加device/${product_company}/${device_name}/camera/product.gni。
|
|
1442
|
+
|
|
1443
|
+
```
|
|
1444
|
+
camera_product_name_path = "//vendor/${product_company}/${product_name}"
|
|
1445
|
+
camera_device_name_path = "//device/board/${product_company}/${device_name}"
|
|
1446
|
+
is_support_v4l2 = true
|
|
1447
|
+
if (is_support_v4l2) {
|
|
1448
|
+
is_support_mpi = false
|
|
1449
|
+
defines += [ "SUPPORT_V4L2" ]
|
|
1450
|
+
chipset_build_deps = "$camera_device_name_path/camera/:chipset_build"
|
|
1451
|
+
camera_device_manager_deps =
|
|
1452
|
+
"$camera_device_name_path/camera/src/device_manager:camera_device_manager"
|
|
1453
|
+
camera_pipeline_core_deps =
|
|
1454
|
+
"$camera_device_name_path/camera/src/pipeline_core:camera_pipeline_core"
|
|
1455
|
+
}
|
|
1456
|
+
```
|
|
1457
|
+
|
|
1458
|
+
当“product.gni”被// drivers/peripheral/camera/hal/camera.gni加载,就说明要编译v4l2相关代码。在//drivers/peripheral/camera/hal/camera.gni中根据编译时传入的product_name和device_name名来加载相应的gni文件。
|
|
1459
|
+
|
|
1460
|
+
```
|
|
1461
|
+
import("//build/ohos.gni")
|
|
1462
|
+
if ("${product_name}" == "ohos-arm64") {
|
|
1463
|
+
import(
|
|
1464
|
+
"//drivers/peripheral/camera/hal/adapter/chipset/rpi/rpi3/device/camera/product.gni")
|
|
1465
|
+
} else if ("${product_name}" == "Hi3516DV300") {
|
|
1466
|
+
import(
|
|
1467
|
+
"//device/soc/hisilicon/common/hal/media/camera/hi3516dv300/linux_standard/camera/product.gni")
|
|
1468
|
+
```
|
|
1469
|
+
|
|
1470
|
+
“drivers/peripheral/camera/hal/BUILD.gn”中会根据 chipset_build_deps camera_device_manager_deps 和 camera_pipeline_core_deps来编译不同的chipset。
|
|
1471
|
+
|
|
1472
|
+
print("product_name : , ${product_name}")
|
|
1473
|
+
group("camera_hal") {
|
|
1474
|
+
if (is_standard_system) {
|
|
1475
|
+
deps = [
|
|
1476
|
+
"$camera_path/../interfaces/hdi_ipc/client:libcamera_client",
|
|
1477
|
+
"buffer_manager:camera_buffer_manager",
|
|
1478
|
+
"device_manager:camera_device_manager",
|
|
1479
|
+
"hdi_impl:camera_hdi_impl",
|
|
1480
|
+
"init:ohos_camera_demo",
|
|
1481
|
+
"pipeline_core:camera_pipeline_core",
|
|
1482
|
+
"utils:camera_utils",
|
|
1483
|
+
]
|
|
1484
|
+
deps += [ "${chipset_build_deps}" ]
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
Camera hal层向下屏蔽了平台及芯片差异,对外(Camera service或者测试程序)提供统一接口,其接口定义在“drivers/peripheral/camera/interfaces/include”目录下:
|
|
1489
|
+
|
|
1490
|
+
├── icamera_device_callback.h
|
|
1491
|
+
├── icamera_device.h
|
|
1492
|
+
├── icamera_host_callback.h
|
|
1493
|
+
├── icamera_host.h
|
|
1494
|
+
├── ioffline_stream_operator.h
|
|
1495
|
+
├── istream_operator_callback.h
|
|
1496
|
+
├── istream_operator.h
|
|
1497
|
+
|
|
1498
|
+
测试时,只需要针对所提供的对外接口进行测试,即可完整测试Camera hal层代码,具体接口说明,可参考“drivers/peripheral/camera/interfaces”目录下的“README_zh.md”和头文件接口定义。具体的调用流程,可参考测试demo:drivers/peripheral/camera/hal/init。
|
|
1499
|
+
|
|
1500
|
+
### camera适配过程中问题以及解决方案
|
|
1501
|
+
|
|
1502
|
+
#### 修改SUBWINDOW_TYPE和送显format
|
|
1503
|
+
|
|
1504
|
+
修改RGBA888送显,模式由video 改为 SUBWINDOW_TYPE为normal模式:
|
|
1505
|
+
|
|
1506
|
+
由于openharmony 较早实现的是3516平台camera, 该平台采用PIXEL_FMT_YCRCB_420_SP格式送显,而RK3568需将预览流由yuv420转换为PIXEL_FMT_RGBA_8888送上屏幕才可被正确的显示。具体需修改foundation/ace/ace_engine/frameworks/core/components/camera/standard_system/camera.cpp 文件中如下内容,该文件被编译在libace.z.so中。
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
#ifdef PRODUCT_RK
|
|
1510
|
+
previewSurface_->SetUserData(SURFACE_FORMAT, std::to_string(PIXEL_FMT_RGBA_8888));
|
|
1511
|
+
previewSurface_->SetUserData(CameraStandard::CameraManager::surfaceFormat,
|
|
1512
|
+
std::to_string(OHOS_CAMERA_FORMAT_RGBA_8888));
|
|
1513
|
+
#else
|
|
1514
|
+
previewSurface_->SetUserData(SURFACE_FORMAT, std::to_string(PIXEL_FMT_YCRCB_420_SP));
|
|
1515
|
+
previewSurface_->SetUserData(CameraStandard::CameraManager::surfaceFormat,
|
|
1516
|
+
std::to_string(OHOS_CAMERA_FORMAT_YCRCB_420_SP));
|
|
1517
|
+
#endif
|
|
1518
|
+
|
|
1519
|
+
foundation/multimedia/camera_standard/services/camera_service/src/hstream_repeat.cpp 文件中如下内容,该文件被编译在libcamera_service.z.so中。
|
|
1520
|
+
|
|
1521
|
+
```
|
|
1522
|
+
void HStreamRepeat::SetStreamInfo(std::shared_ptr<Camera::StreamInfo> streamInfo)
|
|
1523
|
+
{
|
|
1524
|
+
int32_t pixelFormat;
|
|
1525
|
+
auto it = g_cameraToPixelFormat.find(format_);
|
|
1526
|
+
if (it != g_cameraToPixelFormat.end()) {
|
|
1527
|
+
pixelFormat = it->second;
|
|
1528
|
+
} else {
|
|
1529
|
+
#ifdef RK_CAMERA
|
|
1530
|
+
pixelFormat = PIXEL_FMT_RGBA_8888;
|
|
1531
|
+
#else
|
|
1532
|
+
pixelFormat = PIXEL_FMT_YCRCB_420_SP;
|
|
1533
|
+
#endif
|
|
1534
|
+
```
|
|
1535
|
+
|
|
1536
|
+
如上3516平台是使用VO通过VO模块驱动直接送显,所以在ace中配置的subwindows模式为SUBWINDOW_TYPE_VIDEO. 需在foundation/ace/ace_engine/frameworks/core/components/camera/standard_system/camera.cpp文件中做如下修改,该文件被编译在libace.z.so中。
|
|
1537
|
+
|
|
1538
|
+
#ifdef PRODUCT_RK
|
|
1539
|
+
option->SetWindowType(SUBWINDOW_TYPE_NORMAL);
|
|
1540
|
+
#else
|
|
1541
|
+
option->SetWindowType(SUBWINDOW_TYPE_VIDEO);
|
|
1542
|
+
#endif
|
|
1543
|
+
|
|
1544
|
+
#### 增加rk_codec_node
|
|
1545
|
+
|
|
1546
|
+
在该node中完成rgb转换,jpeg和h264压缩编解码前文讲过camera hal的pipeline模型的每一个node都是camera数据轮转过程中的一个节点,由于当前camera hal v4l2 adapter只支持一路流进行数据轮转,那么拍照和录像流就必须从单一的预览流中拷贝。现阶段openharmony也没有专门的服务端去做codec和rgb转换jpeg压缩的工作。那么只能在camera hal中开辟一个专有node去做这些事情,也就是rk_codec_node。
|
|
1547
|
+
Hcs中增加rk_codec_node连接模型:
|
|
1548
|
+
修改vendor/hihope/rk3568/hdf_config/uhdf/camera/pipeline_core/config.hcs文件。
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
normal_preview_snapshot :: pipeline_spec {
|
|
1552
|
+
name = "normal_preview_snapshot";
|
|
1553
|
+
v4l2_source :: node_spec {
|
|
1554
|
+
name = "v4l2_source#0";
|
|
1555
|
+
status = "new";
|
|
1556
|
+
out_port_0 :: port_spec {
|
|
1557
|
+
name = "out0";
|
|
1558
|
+
peer_port_name = "in0";
|
|
1559
|
+
peer_port_node_name = "fork#0";
|
|
1560
|
+
direction = 1;
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
fork :: node_spec {
|
|
1564
|
+
name = "fork#0";
|
|
1565
|
+
status = "new";
|
|
1566
|
+
in_port_0 :: port_spec {
|
|
1567
|
+
name = "in0";
|
|
1568
|
+
peer_port_name = "out0";
|
|
1569
|
+
peer_port_node_name = "v4l2_source#0";
|
|
1570
|
+
direction = 0;
|
|
1571
|
+
}
|
|
1572
|
+
out_port_0 :: port_spec {
|
|
1573
|
+
name = "out0";
|
|
1574
|
+
peer_port_name = "in0";
|
|
1575
|
+
peer_port_node_name = "RKCodec#0";
|
|
1576
|
+
direction = 1;
|
|
1577
|
+
}
|
|
1578
|
+
out_port_1 :: port_spec {
|
|
1579
|
+
name = "out1";
|
|
1580
|
+
peer_port_name = "in0";
|
|
1581
|
+
peer_port_node_name = "RKCodec#1";
|
|
1582
|
+
direction = 1;
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
RKCodec_1 :: node_spec {
|
|
1586
|
+
name = "RKCodec#0";
|
|
1587
|
+
status = "new";
|
|
1588
|
+
in_port_0 :: port_spec {
|
|
1589
|
+
name = "in0";
|
|
1590
|
+
peer_port_name = "out0";
|
|
1591
|
+
peer_port_node_name = "fork#0";
|
|
1592
|
+
direction = 0;
|
|
1593
|
+
}
|
|
1594
|
+
out_port_0 :: port_spec {
|
|
1595
|
+
name = "out0";
|
|
1596
|
+
peer_port_name = "in0";
|
|
1597
|
+
peer_port_node_name = "sink#0";
|
|
1598
|
+
direction = 1;
|
|
1599
|
+
}
|
|
1600
|
+
}
|
|
1601
|
+
RKCodec_2 :: node_spec {
|
|
1602
|
+
name = "RKCodec#1";
|
|
1603
|
+
|
|
1604
|
+
|
|
1605
|
+
以预览加拍照双路流为列,v4l2_source_node为数据源,流向了fork_node,rork_node将预览数据直接送给RKCodec node, 将拍照数据流拷贝一份也送给RKCodec node进行转换。转换完成的数据将送给sink node后交至buffer的消费端。
|
|
1606
|
+
|
|
1607
|
+
device/board/hihope/rk3568/camera/src/pipeline_core/BUILD.gn中添加rk_codec_node.cpp和相关依赖库的编译。其中librga为yuv到rgb格式转换库,libmpp为yuv到H264编解码库,libjpeg为yuv到jpeg照片的压缩库。
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
ohos_shared_library("camera_pipeline_core") {
|
|
1611
|
+
sources = [
|
|
1612
|
+
"$camera_device_name_path/camera/src/pipeline_core/node/rk_codec_node.cpp",
|
|
1613
|
+
"$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node/uvc_node.cpp",
|
|
1614
|
+
"$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node/v4l2_source_node.cpp",
|
|
1615
|
+
deps = [
|
|
1616
|
+
"$camera_path/buffer_manager:camera_buffer_manager",
|
|
1617
|
+
"$camera_path/device_manager:camera_device_manager",
|
|
1618
|
+
"//device/soc/rockchip/hardware/mpp:libmpp",
|
|
1619
|
+
"//device/soc/rockchip/hardware/rga:librga",
|
|
1620
|
+
"//foundation/multimedia/camera_standard/frameworks/native/metadata:metadata",
|
|
1621
|
+
"//third_party/libjpeg:libjpeg_static",
|
|
1622
|
+
|
|
1623
|
+
|
|
1624
|
+
openharmony/device/board/hihope/rk3568/camera/src/pipeline_core/node/rk_codec_node.cpp主要接口:
|
|
1625
|
+
|
|
1626
|
+
|
|
1627
|
+
void RKCodecNode::DeliverBuffer(std::shared_ptr\<IBuffer\>& buffer)
|
|
1628
|
+
{
|
|
1629
|
+
if (buffer == nullptr) {
|
|
1630
|
+
CAMERA_LOGE("RKCodecNode::DeliverBuffer frameSpec is null");
|
|
1631
|
+
return;
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1634
|
+
int32_t id = buffer->GetStreamId();
|
|
1635
|
+
CAMERA_LOGE("RKCodecNode::DeliverBuffer StreamId %{public}d", id);
|
|
1636
|
+
if (buffer->GetEncodeType() == ENCODE_TYPE_JPEG) {
|
|
1637
|
+
Yuv420ToJpeg(buffer);
|
|
1638
|
+
} else if (buffer->GetEncodeType() == ENCODE_TYPE_H264) {
|
|
1639
|
+
Yuv420ToH264(buffer);
|
|
1640
|
+
} else {
|
|
1641
|
+
Yuv420ToRGBA8888(buffer);
|
|
1642
|
+
}
|
|
1643
|
+
|
|
1644
|
+
由fork_node出来的数据流将会被deliver到rk_codec_node的DeliverBuffer接口中,该接口会根据不同的EncodeType去做不同的转换处理。经过转换过的buffers再deliver到下一级node中处理。直到deliver到buffer消费者手中。
|
|
1645
|
+
|
|
1646
|
+
#### H264帧时间戳和音频时间戳不同步问题。
|
|
1647
|
+
|
|
1648
|
+
问题点:Ace在CreateRecorder时会同时获取音频和视频数据并将他们合成为.mp4文件。但在实际合成过程当中需要检查音视频信息中的时间戳是否一致,如不一致将会Recorder失败。表现出的现象是camera app点击录像按钮后无法正常停止,强行停止后发现mp4文件为空。
|
|
1649
|
+
|
|
1650
|
+
解决方法:首先需找到audio模块对于音频时间戳的获取方式。
|
|
1651
|
+
|
|
1652
|
+
```
|
|
1653
|
+
int32_t AudioCaptureAsImpl::GetSegmentInfo(uint64_t &start)
|
|
1654
|
+
{
|
|
1655
|
+
CHECK_AND_RETURN_RET(audioCapturer_ != nullptr, MSERR_INVALID_OPERATION);
|
|
1656
|
+
AudioStandard::Timestamp timeStamp;
|
|
1657
|
+
auto timestampBase = AudioStandard::Timestamp::Timestampbase::MONOTONIC;
|
|
1658
|
+
CHECK_AND_RETURN_RET(audioCapturer_->GetAudioTime(timeStamp, timestampBase), MSERR_UNKNOWN);
|
|
1659
|
+
CHECK_AND_RETURN_RET(timeStamp.time.tv_nsec >= 0 && timeStamp.time.tv_sec >= 0, MSERR_UNKNOWN);
|
|
1660
|
+
if (((UINT64_MAX - timeStamp.time.tv_nsec) / SEC_TO_NANOSECOND) <= static_cast<uint64_t>(timeStamp.time.tv_sec)) {
|
|
1661
|
+
MEDIA_LOGW("audio frame pts too long, this shouldn't happen");
|
|
1662
|
+
}
|
|
1663
|
+
start = timeStamp.time.tv_nsec + timeStamp.time.tv_sec * SEC_TO_NANOSECOND;
|
|
1664
|
+
MEDIA_LOGI("timestamp from audioCapturer: %{public}" PRIu64 "", start);
|
|
1665
|
+
return MSERR_OK;
|
|
1666
|
+
}
|
|
1667
|
+
```
|
|
1668
|
+
|
|
1669
|
+
可以看到,audio_capture_as_impl.cpp 文件中。audio模块用的是CLOCK_MONOTONIC,即系统启动时开始计时的相对时间。而camera 模块使用的是CLOCK_REALTIME,即系统实时时间。
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
mppStatus_ = 1;
|
|
1673
|
+
buf_size = ((MpiEncTestData *)halCtx_)->frame_size;
|
|
1674
|
+
|
|
1675
|
+
ret = hal_mpp_encode(halCtx_, dma_fd, (unsigned char *)buffer->GetVirAddress(), &buf_size);
|
|
1676
|
+
SearchIFps((unsigned char *)buffer->GetVirAddress(), buf_size, buffer);
|
|
1677
|
+
|
|
1678
|
+
buffer->SetEsFrameSize(buf_size);
|
|
1679
|
+
clock_gettime(CLOCK_MONOTONIC, &ts);
|
|
1680
|
+
timestamp = ts.tv_nsec + ts.tv_sec * TIME_CONVERSION_NS_S;
|
|
1681
|
+
buffer->SetEsTimestamp(timestamp);
|
|
1682
|
+
CAMERA_LOGI("RKCodecNode::Yuv420ToH264 video capture on\n");
|
|
1683
|
+
|
|
1684
|
+
解决方法:修改camera hal中rk_codec_node.cpp中的获取时间类型为CLOCK_MONOTONIC即可解决问题。
|
|
1685
|
+
|
|
1686
|
+
#### time_t改为64位以后匹配4.19 kernel问题。
|
|
1687
|
+
|
|
1688
|
+
背景介绍:RK3568在遇到这个问题时的环境是上层运行的32位系统,底层是linux4.19 64位kernel。在32位系统环境下time_t这个typedef是long类型的,也就是32位。但在下面这个提交中将time_t 改成_Int64位。这样就会导致camera v4l2在ioctl时发生错误。
|
|
1689
|
+
|
|
1690
|
+
TYPEDEF _Int64 time_t;
|
|
1691
|
+
TYPEDEF _Int64 suseconds_t;
|
|
1692
|
+
|
|
1693
|
+
具体错误以及临时修改方案:
|
|
1694
|
+
|
|
1695
|
+
1,发生错误时在hilog中搜索camera_host 会发现在V4L2AllocBuffer接口中下发VIDIOC_QUERYBUF的CMD时上报了一个Not a tty的错误。如下:
|
|
1696
|
+
|
|
1697
|
+
```
|
|
1698
|
+
V4L2AllocBuffer error:ioctl VIDIOC_QUERYBUF failed: Not a tty
|
|
1699
|
+
|
|
1700
|
+
```
|
|
1701
|
+
|
|
1702
|
+
RetCode HosV4L2Buffers::V4L2AllocBuffer(int fd, const std::shared_ptr\<FrameSpec\>& frameSpec)
|
|
1703
|
+
{
|
|
1704
|
+
struct v4l2_buffer buf = {};
|
|
1705
|
+
struct v4l2_plane planes[1] = {};
|
|
1706
|
+
CAMERA_LOGD("V4L2AllocBuffer\n");
|
|
1707
|
+
|
|
1708
|
+
if (frameSpec == nullptr) {
|
|
1709
|
+
CAMERA_LOGE("V4L2AllocBuffer frameSpec is NULL\n");
|
|
1710
|
+
return RC_ERROR;
|
|
1711
|
+
}
|
|
1712
|
+
|
|
1713
|
+
switch (memoryType_) {
|
|
1714
|
+
case V4L2_MEMORY_MMAP:
|
|
1715
|
+
// to do something
|
|
1716
|
+
break;
|
|
1717
|
+
case V4L2_MEMORY_USERPTR:
|
|
1718
|
+
buf.type = bufferType_;
|
|
1719
|
+
buf.memory = memoryType_;
|
|
1720
|
+
buf.index = (uint32_t)frameSpec->buffer_->GetIndex();
|
|
1721
|
+
|
|
1722
|
+
if (bufferType_ == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
|
|
1723
|
+
buf.m.planes = planes;
|
|
1724
|
+
buf.length = 1;
|
|
1725
|
+
}
|
|
1726
|
+
CAMERA_LOGD("V4L2_MEMORY_USERPTR Print the cnt: %{public}d\n", buf.index);
|
|
1727
|
+
|
|
1728
|
+
if (ioctl(fd, VIDIOC_QUERYBUF, &buf) < 0) {
|
|
1729
|
+
CAMERA_LOGE("error: ioctl VIDIOC_QUERYBUF failed: %{public}s\n", strerror(errno));
|
|
1730
|
+
return RC_ERROR;
|
|
1731
|
+
2,我们知道,一般ioctl系统调用的CMD都是以第三个参数的sizeof为CMD值主要组成传递进内核去寻找内核中相对应的switch case. 如下图,v4l2_buffer为VIDIOC_QUERYBUF宏的值得主要组成部分,那么v4l2_buffer的size发生变化,VIDIOC_QUERYBUF的值也会发生变化。
|
|
1732
|
+
|
|
1733
|
+
```
|
|
1734
|
+
#define VIDIOC_S_FMT _IOWR('V', 5, struct v4l2_format)
|
|
1735
|
+
#define VIDIOC_REQBUFS _IOWR('V', 8, struct v4l2_requestbuffers)
|
|
1736
|
+
#define VIDIOC_QUERYBUF _IOWR('V', 9, struct v4l2_buffer)
|
|
1737
|
+
#define VIDIOC_G_FBUF _IOR('V', 10, struct v4l2_framebuffer)
|
|
1738
|
+
```
|
|
1739
|
+
|
|
1740
|
+
3,当kernel 打开CONFIG_COMPAT这个宏时,可以实现32位系统到64位kernel的兼容,对于32位系统下发的ioctl会先进入下面截图中的接口里去做cmd值由32到64位的转换。
|
|
1741
|
+
|
|
1742
|
+
long v4l2_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg)
|
|
1743
|
+
{
|
|
1744
|
+
struct video_device *vdev = video_devdata(file);
|
|
1745
|
+
long ret = -ENOIOCTLCMD;
|
|
1746
|
+
|
|
1747
|
+
if (!file->f_op->unlocked_ioctl)
|
|
1748
|
+
return ret;
|
|
1749
|
+
|
|
1750
|
+
if (_IOC_TYPE(cmd) == 'V' && _IOC_NR(cmd) < BASE_VIDIOC_PRIVATE)
|
|
1751
|
+
ret = do_video_ioctl(file, cmd, arg);
|
|
1752
|
+
else if (vdev->fops->compat_ioctl32)
|
|
1753
|
+
ret = vdev->fops->compat_ioctl32(file, cmd, arg);
|
|
1754
|
+
|
|
1755
|
+
4,那么在kernel中会定义一个kernel认为的VIDIOC_QUERYBUF的值。
|
|
1756
|
+
|
|
1757
|
+
#define VIDIOC_S_FMT32 _IOWR('V', 5, struct v4l2_format32)
|
|
1758
|
+
#define VIDIOC_QUERYBUF32 _IOWR('V', 9, struct v4l2_buffer32)
|
|
1759
|
+
#define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct v4l2_buffer32_time32)
|
|
1760
|
+
5,前文提到过,上层musl中time_t已经由32位被改为64位,v4l2_buffer结构体中的struct timeval中就用到了time_t。那么应用层的v4l2_buffer的大小就会跟kernel层的不一致,因为kernel的struct timeval 中编译时使用的是kernel自己在time.h中定义的 kernel_time_t。这就导致应用和驱动层对于v4l2_buffer的sizeof计算不一致从而调用到内核态后找不到cmd的错误。
|
|
1761
|
+
|
|
1762
|
+
```
|
|
1763
|
+
struct v4l2_buffer {
|
|
1764
|
+
__u32 index;
|
|
1765
|
+
__u32 type;
|
|
1766
|
+
__u32 bytesused;
|
|
1767
|
+
__u32 flags;
|
|
1768
|
+
__u32 field;
|
|
1769
|
+
struct timeval timestamp;
|
|
1770
|
+
struct v4l2_timecode timecode;
|
|
1771
|
+
__u32 sequence;
|
|
1772
|
+
```
|
|
1773
|
+
6,临时解决方案是修改videodev2.h中的struct timeval为自己临时定义的结构体,保证上下层size一致。如下:
|
|
1774
|
+
|
|
1775
|
+
```
|
|
1776
|
+
struct timeval1 {
|
|
1777
|
+
long tv_sec;
|
|
1778
|
+
long tv_usec;
|
|
1779
|
+
}
|
|
1780
|
+
struct v4l2_buffer {
|
|
1781
|
+
__u32 index;
|
|
1782
|
+
__u32 type;
|
|
1783
|
+
__u32 bytesused;
|
|
1784
|
+
__u32 flags;
|
|
1785
|
+
__u32 field;
|
|
1786
|
+
struct timeval1 timestamp;
|
|
1787
|
+
struct v4l2_timecode timecode;
|
|
1788
|
+
```
|
|
1789
|
+
|
|
1790
|
+
根本解决方案:
|
|
1791
|
+
|
|
1792
|
+
如需要根本解决这个问题,只有两种方法。第一将系统升级为64位系统,保证用户态和内核态对于time_t变量的size保持一致。第二,升级5.10之后版本的kernel
|
|
1793
|
+
因为5.10版本的kernel在videodev2.h文件中解决了这个情况。目前我们已在5.10的kernel上验证成功,如下图,可以看到在编译kernel时考虑到了64位time_t的问题。
|
|
1794
|
+
|
|
1795
|
+
```
|
|
1796
|
+
struct v4l2_buffer {
|
|
1797
|
+
__u32 index;
|
|
1798
|
+
__u32 type;
|
|
1799
|
+
__u32 bytesused;
|
|
1800
|
+
__u32 flags;
|
|
1801
|
+
__u32 field;
|
|
1802
|
+
#ifdef __KERNEL__
|
|
1803
|
+
struct __kernel_v4l2_timeval timestamp;
|
|
1804
|
+
#else
|
|
1805
|
+
struct timeval timestamp;
|
|
1806
|
+
#endif
|
|
1807
|
+
struct v4l2_timecode timecode;
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
struct __kernel_v4l2_timeval {
|
|
1811
|
+
long long ._sec;
|
|
1812
|
+
#if defined(__sparc__) && defined(__arch64__)
|
|
1813
|
+
int tv_usec;
|
|
1814
|
+
int __pad;
|
|
1815
|
+
#else
|
|
1816
|
+
long long tv_usec;
|
|
1817
|
+
#endif
|
|
1818
|
+
};
|
|
1819
|
+
```
|
|
1820
|
+
#### H264 关键帧获取上报
|
|
1821
|
+
|
|
1822
|
+
H264除了需要上报经过编解码的数据外,还需上报关键帧信息。即这一帧是否为关键帧?mp4编码时需要用到这些信息,那么怎么分析那一帧是关键帧那?主要是分析NALU头信息。Nalu type & 0x1f就代表该帧的类型。Nalu头是以0x00000001或0x000001为起始标志的。 该图为nal_unit_type为不同数值时的帧类型。我们主要关心type为5也就是IDR帧信息。
|
|
1823
|
+

|
|
1824
|
+
|
|
1825
|
+
|
|
1826
|
+
rk_cedec_node.cpp文件里对IDR帧分析进行了代码化:
|
|
1827
|
+
|
|
1828
|
+
static constexpr uint32_t nalBit = 0x1F;
|
|
1829
|
+
#define NAL_TYPE(value) ((value) & nalBit)
|
|
1830
|
+
void RKCodecNode::SearchIFps(unsigned char* buf, size_t bufSize, std::shared_ptr\<IBuffer\>& buffer)
|
|
1831
|
+
{
|
|
1832
|
+
size_t nalType = 0;
|
|
1833
|
+
size_t idx = 0;
|
|
1834
|
+
size_t size = bufSize;
|
|
1835
|
+
constexpr uint32_t nalTypeValue = 0x05;
|
|
1836
|
+
|
|
1837
|
+
if (buffer == nullptr || buf == nullptr) {
|
|
1838
|
+
CAMERA_LOGI("RKCodecNode::SearchIFps parameter == nullptr");
|
|
1839
|
+
return;
|
|
1840
|
+
}
|
|
1841
|
+
|
|
1842
|
+
for (int i = 0; i < bufSize; i++) {
|
|
1843
|
+
int ret = findStartCode(buf + idx, size);
|
|
1844
|
+
if (ret == -1) {
|
|
1845
|
+
idx += 1;
|
|
1846
|
+
size -= 1;
|
|
1847
|
+
} else {
|
|
1848
|
+
nalType = NAL_TYPE(buf[idx + ret]);
|
|
1849
|
+
CAMERA_LOGI("ForkNode::ForkBuffers nalu == 0x%{public}x buf == 0x%{public}x \n", nalType, buf[idx + ret]);
|
|
1850
|
+
|
|
1851
|
+
每经过一个h264转换过的buffer都会被传入SearchIFps接口中寻找IDR帧。其中findStartCode()接口会对buffer中的内容逐个字节扫描,知道寻找出NALU头来。
|
|
1852
|
+
|
|
1853
|
+
```
|
|
1854
|
+
int RKCodecNode::findStartCode(unsigned char *data, size_t dataSz)
|
|
1855
|
+
{
|
|
1856
|
+
constexpr uint32_t dataSize = 4;
|
|
1857
|
+
constexpr uint32_t dataBit2 = 2;
|
|
1858
|
+
constexpr uint32_t dataBit3 = 3;
|
|
1859
|
+
|
|
1860
|
+
if (data == nullptr) {
|
|
1861
|
+
CAMERA_LOGI("RKCodecNode::findStartCode parameter == nullptr");
|
|
1862
|
+
return -1;
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
if ((dataSz > dataSize) && (data[0] == 0) && (data[1] == 0) && \
|
|
1866
|
+
(data[dataBit2] == 0) && (data[dataBit3] == 1)) {
|
|
1867
|
+
return 4; // 4:start node
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
return -1;
|
|
1871
|
+
}
|
|
1872
|
+
```
|
|
1873
|
+
当找到NALU头后就会对&0x1F 找出nal_unit_type,如果type为5标记关键帧信息并通过buffer->SetEsKeyFrame(1);接口上报。
|
|
1874
|
+
|
|
1875
|
+
## TP
|
|
1876
|
+
|
|
1877
|
+
### TP驱动模型
|
|
1878
|
+
|
|
1879
|
+
主要包含Input模块HDI(Hardware Driver Interface)接口定义及其实现,对上层输入服务提供操作input设备的驱动能力接口,HDI接口主要包括如下三大类:
|
|
1880
|
+
|
|
1881
|
+
- InputManager:管理输入设备,包括输入设备的打开、关闭、设备列表信息获取等;
|
|
1882
|
+
- InputReporter:负责输入事件的上报,包括注册、注销数据上报回调函数等;
|
|
1883
|
+
- InputController:提供input设备的业务控制接口,包括获取器件信息及设备类型、设置电源状态等。
|
|
1884
|
+
|
|
1885
|
+
**图 1** INPUT模块HDI接口层框架图
|
|
1886
|
+
|
|
1887
|
+

|
|
1888
|
+
|
|
1889
|
+
相关目录下源代码目录结构如下所示:
|
|
1890
|
+
|
|
1891
|
+
```
|
|
1892
|
+
/drivers/peripheral/input
|
|
1893
|
+
├── hal # input模块的hal层代码。
|
|
1894
|
+
│ └── include # input模块hal层内部的头文件。
|
|
1895
|
+
│ └── src # input模块hal层代码的具体实现。
|
|
1896
|
+
├── interfaces # input模块对上层服务提供的驱动能力接口。
|
|
1897
|
+
│ └── include # input模块对外提供的接口定义。
|
|
1898
|
+
├── test # input模块的测试代码。
|
|
1899
|
+
│ └── unittest # input模块的单元测试代码。
|
|
1900
|
+
```
|
|
1901
|
+
|
|
1902
|
+
详细请参考input子系统[README](https://gitcode.com/openharmony/drivers_peripheral/blob/master/input/README_zh.md)
|
|
1903
|
+
|
|
1904
|
+
### TP HDF驱动适配
|
|
1905
|
+
|
|
1906
|
+
#### TP驱动涉及的文件及目录
|
|
1907
|
+
|
|
1908
|
+
dayu200平台默认支持GT5688这颗TP IC。
|
|
1909
|
+
|
|
1910
|
+
开发板移植touch驱动涉及的文件及目录:
|
|
1911
|
+
|
|
1912
|
+
1、 Makefile文件: drivers\adapter\khdf\linux\model\input\Makefile
|
|
1913
|
+
|
|
1914
|
+
2、 vendor\hihope\rk3568\hdf_config\khdf\device_info\device_info.hcs
|
|
1915
|
+
|
|
1916
|
+
3、 vendor\hihope\rk3568\hdf_config\khdf\input\input_config.hcs
|
|
1917
|
+
|
|
1918
|
+
4、 drivers\framework\model\input\driver\touchscreen
|
|
1919
|
+
|
|
1920
|
+
TP驱动的适配涉及TP驱动和hcs配置。
|
|
1921
|
+
|
|
1922
|
+
tp驱动的适配依赖hdf的input模型,hdf的input模型提供了TP,KEY,HID等场景的设备注册,管理,数据转发层,hcs解析等场景的支持能力。hdf的input模型可大致抽象为驱动管理层、公共驱动层以及器件驱动三层。
|
|
1923
|
+
|
|
1924
|
+
从功能的角度看hdf input模块的框架如下:
|
|
1925
|
+
|
|
1926
|
+

|
|
1927
|
+
|
|
1928
|
+
因为hdf input模型的高度抽象集成,TP驱动的适配驱动主要涉及器件驱动层的适配。
|
|
1929
|
+
|
|
1930
|
+
在适配前,需要先明确tp所需要的的资源。
|
|
1931
|
+
|
|
1932
|
+
对于硬件资源,tp模组需要主机上的如下资源:
|
|
1933
|
+
|
|
1934
|
+
1.中断引脚。
|
|
1935
|
+
|
|
1936
|
+
2.Reset引脚。
|
|
1937
|
+
|
|
1938
|
+
3.使用的哪一组i2c,从设备的地址是什么。
|
|
1939
|
+
|
|
1940
|
+
4.TP的初始化固件(这个通常由IC厂商提供)。
|
|
1941
|
+
|
|
1942
|
+
5.触摸屏的分辨率。
|
|
1943
|
+
|
|
1944
|
+
对于软件资源,在hdf上适配tp,需要依赖如下几个hdf基础模组:
|
|
1945
|
+
|
|
1946
|
+
1.Hdf gpio子系统 用于设置gpio pin脚以及一些中断资源。
|
|
1947
|
+
|
|
1948
|
+
2.Hdf i2c 子系统 用于进行i2c通信。
|
|
1949
|
+
|
|
1950
|
+
3.Input模型。
|
|
1951
|
+
|
|
1952
|
+
器件驱动主要围绕如下结构体展开。
|
|
1953
|
+
|
|
1954
|
+
```
|
|
1955
|
+
static struct TouchChipOps g_gt911ChipOps = {
|
|
1956
|
+
.Init = ChipInit,
|
|
1957
|
+
.Detect = ChipDetect,
|
|
1958
|
+
.Resume = ChipResume,
|
|
1959
|
+
.Suspend = ChipSuspend,
|
|
1960
|
+
.DataHandle = ChipDataHandle,
|
|
1961
|
+
.UpdateFirmware = UpdateFirmware,
|
|
1962
|
+
.SetAbility = SetAbility,
|
|
1963
|
+
};
|
|
1964
|
+
```
|
|
1965
|
+
|
|
1966
|
+
ChipInit负责器件驱动的初始化动作。
|
|
1967
|
+
|
|
1968
|
+
ChipDetect负责初始化后的器件有效性检测。
|
|
1969
|
+
|
|
1970
|
+
SetAbility设置按键属性。
|
|
1971
|
+
|
|
1972
|
+
ChipDataHandle负责解析键值。
|
|
1973
|
+
|
|
1974
|
+
UpdateFirmware负责升级固件。
|
|
1975
|
+
|
|
1976
|
+
ChipSuspend负责器件的休眠。
|
|
1977
|
+
|
|
1978
|
+
ChipResume负责器件的唤醒。
|
|
1979
|
+
|
|
1980
|
+
按照器件的特性实现如上接口回调,并将该结构体注册进input模型即可。
|
|
1981
|
+
|
|
1982
|
+
#### HCS 配置
|
|
1983
|
+
|
|
1984
|
+
device_info.hcs中加入新的器件节点。
|
|
1985
|
+
|
|
1986
|
+
```
|
|
1987
|
+
device_touch_chip :: device {
|
|
1988
|
+
device0 :: deviceNode {
|
|
1989
|
+
policy = 0;
|
|
1990
|
+
priority = 180;
|
|
1991
|
+
preload = 0;//0表示默认加载。
|
|
1992
|
+
permission = 0660;
|
|
1993
|
+
moduleName = "HDF_TOUCH_GT911";//需要和器件driver中保持一致。
|
|
1994
|
+
serviceName = "hdf_touch_gt911_service";
|
|
1995
|
+
deviceMatchAttr = "zsj_gt911_5p5";
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
```
|
|
1999
|
+
|
|
2000
|
+
input_config.hcs中加入器件的特性。
|
|
2001
|
+
|
|
2002
|
+
```
|
|
2003
|
+
chipConfig {
|
|
2004
|
+
template touchChip {
|
|
2005
|
+
match_attr = "";
|
|
2006
|
+
chipName = "gt911";
|
|
2007
|
+
vendorName = "zsj";
|
|
2008
|
+
chipInfo = "AAAA11222"; // 4-ProjectName, 2-TP IC, 3-TP Module
|
|
2009
|
+
/* 0:i2c 1:spi*/
|
|
2010
|
+
busType = 0;
|
|
2011
|
+
deviceAddr = 0x5D;
|
|
2012
|
+
/* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */
|
|
2013
|
+
irqFlag = 2;
|
|
2014
|
+
maxSpeed = 400;
|
|
2015
|
+
chipVersion = 0; //parse Coord TypeA.
|
|
2016
|
+
powerSequence {
|
|
2017
|
+
/* [type, status, dir , delay]
|
|
2018
|
+
<type> 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
|
|
2019
|
+
<status> 0:off or low 1:on or high 2:no ops
|
|
2020
|
+
<dir> 0:input 1:output 2:no ops
|
|
2021
|
+
<delay> meanings delay xms, 20: delay 20ms
|
|
2022
|
+
*/
|
|
2023
|
+
powerOnSeq = [4, 0, 1, 5,
|
|
2024
|
+
3, 0, 1, 10,
|
|
2025
|
+
3, 1, 1, 60,
|
|
2026
|
+
4, 2, 0, 50];
|
|
2027
|
+
suspendSeq = [3, 0, 2, 10];
|
|
2028
|
+
resumeSeq = [3, 1, 2, 10];
|
|
2029
|
+
powerOffSeq = [3, 0, 2, 10,
|
|
2030
|
+
1, 0, 2, 20];
|
|
2031
|
+
}
|
|
2032
|
+
}
|
|
2033
|
+
```
|
|
2034
|
+
|
|
2035
|
+
## 显示适配
|
|
2036
|
+
|
|
2037
|
+
显示适配需要完成的工作:图形服务HDI接口适配、GPU适配、LCD驱动适配。
|
|
2038
|
+
|
|
2039
|
+
### 显示HDI
|
|
2040
|
+
|
|
2041
|
+
[显示HDI](https://gitcode.com/openharmony/drivers_peripheral/blob/master/display/README_zh.md)对图形服务提供显示驱动能力,包括显示图层的管理、显示内存的管理及硬件加速等。 显示HDI需要适配两部分:gralloc 和 display_device。
|
|
2042
|
+
|
|
2043
|
+
#### gralloc适配
|
|
2044
|
+
|
|
2045
|
+
gralloc模块提供显示内存管理功能,OpenHarmony提供了使用与Hi3516DV300参考实现,厂商可根据实际情况参考适配,该实现基于drm开发,[源码链接](https://gitcode.com/openharmony/drivers_peripheral/tree/master/display/hal/default_standard)。
|
|
2046
|
+
|
|
2047
|
+
drm设备节点定义在//drivers_peripheral/display/hal/default_standard/srd/display_gralloc/display_gralloc_gbm.c文件中,可根据实际情况修改。
|
|
2048
|
+
|
|
2049
|
+
```
|
|
2050
|
+
const char *g_drmFileNode = "/dev/dri/card0";
|
|
2051
|
+
```
|
|
2052
|
+
|
|
2053
|
+
该实现中存在一个海思的私有ioctl命令码 DRM_IOCTL_HISILICON_GEM_FD_TO_PHYADDR 定义在//drivers_peripheral/display/hal/default_standard/src/display_gralloc/hisilicon_drm.h 文件中,在//drivers_peripheral/display/hal/default_standard/src/display_gralloc/display_gralloc_gbm.c文件中调用,属于海思的私有功能,适配时根据实际情况修改。
|
|
2054
|
+
|
|
2055
|
+
```
|
|
2056
|
+
...
|
|
2057
|
+
InitBufferHandle(bo, fd, info, priBuffer);
|
|
2058
|
+
priBuffer->hdl.phyAddr = GetPhysicalAddr(grallocManager->drmFd, fd);
|
|
2059
|
+
*buffer = &priBuffer->hdl;
|
|
2060
|
+
...
|
|
2061
|
+
```
|
|
2062
|
+
|
|
2063
|
+
#### display device适配
|
|
2064
|
+
|
|
2065
|
+
display device模块提供显示设备管理、layer管理、硬件加速等功能。
|
|
2066
|
+
|
|
2067
|
+
OpenHarmony提供了[基于drm的Hi3516DV300芯片的参考实现](https://gitcode.com/openharmony/drivers_peripheral/tree/master/display/hal/default_standard/src/display_device),该实现默认支持硬件合成;
|
|
2068
|
+
|
|
2069
|
+
如开发板不支持硬件合成,需要在drm_display.cpp文件中跳过gfx的初始化,
|
|
2070
|
+
|
|
2071
|
+
```
|
|
2072
|
+
drivers_peripheral/blob/master/display/hal/default_standard/src/display_device/drm/drm_display.cpp
|
|
2073
|
+
int32_t DrmDisplay::Init()
|
|
2074
|
+
{
|
|
2075
|
+
...
|
|
2076
|
+
...
|
|
2077
|
+
ret = HdiDisplay::Init();
|
|
2078
|
+
DISPLAY_CHK_RETURN((ret != DISPLAY_SUCCESS), DISPLAY_FAILURE, DISPLAY_LOGE("init failed"));
|
|
2079
|
+
auto preComp = std::make_unique<HdiGfxComposition>();
|
|
2080
|
+
DISPLAY_CHK_RETURN((preComp == nullptr), DISPLAY_FAILURE,
|
|
2081
|
+
DISPLAY_LOGE("can not new HdiGfxComposition errno %{public}d", errno));
|
|
2082
|
+
ret = preComp->Init(); // gfx初始化,这里需要跳过。
|
|
2083
|
+
DISPLAY_CHK_RETURN((ret != DISPLAY_SUCCESS), DISPLAY_FAILURE, DISPLAY_LOGE("can not init HdiGfxComposition")); // 或者不判断返回值。
|
|
2084
|
+
|
|
2085
|
+
...
|
|
2086
|
+
}
|
|
2087
|
+
```
|
|
2088
|
+
|
|
2089
|
+
同时在//drivers_peripheral/display/hal/default_standard/src/display_device/hdi_gfx_composition.cpp文件中修改set_layers方法,全部使用CPU合成显示。
|
|
2090
|
+
|
|
2091
|
+
```
|
|
2092
|
+
int32_t HdiGfxComposition::SetLayers(std::vector<HdiLayer *> &layers, HdiLayer &clientLayer)
|
|
2093
|
+
{
|
|
2094
|
+
DISPLAY_LOGD("layers size %{public}zd", layers.size());
|
|
2095
|
+
mClientLayer = &clientLayer;
|
|
2096
|
+
mCompLayers.clear();
|
|
2097
|
+
for (auto &layer : layers) {
|
|
2098
|
+
if (CanHandle(*layer)) {
|
|
2099
|
+
#if 0 // CPU合成。
|
|
2100
|
+
layer->SetDeviceSelect(COMPOSITION_CLIENT);
|
|
2101
|
+
#else
|
|
2102
|
+
if ((layer->GetCompositionType() != COMPOSITION_VIDEO) &&
|
|
2103
|
+
(layer->GetCompositionType() != COMPOSITION_CURSOR)) {
|
|
2104
|
+
layer->SetDeviceSelect(COMPOSITION_DEVICE);
|
|
2105
|
+
} else {
|
|
2106
|
+
layer->SetDeviceSelect(layer->GetCompositionType());
|
|
2107
|
+
}
|
|
2108
|
+
#endif
|
|
2109
|
+
mCompLayers.push_back(layer);
|
|
2110
|
+
}
|
|
2111
|
+
}
|
|
2112
|
+
DISPLAY_LOGD("composer layers size %{public}zd", mCompLayers.size());
|
|
2113
|
+
return DISPLAY_SUCCESS;
|
|
2114
|
+
}
|
|
2115
|
+
```
|
|
2116
|
+
|
|
2117
|
+
#### 测试验证
|
|
2118
|
+
|
|
2119
|
+
hello_composer测试模块:Rosen图形框架提供的测试程序,主要显示流程,HDI接口等功能是否正常。默认随系统编译。
|
|
2120
|
+
|
|
2121
|
+
代码路径:
|
|
2122
|
+
|
|
2123
|
+
```
|
|
2124
|
+
foundation/graphic/graphic/rosen/samples/composer/
|
|
2125
|
+
├── BUILD.gn
|
|
2126
|
+
├── hello_composer.cpp
|
|
2127
|
+
├── hello_composer.h
|
|
2128
|
+
├── layer_context.cpp
|
|
2129
|
+
├── layer_context.h
|
|
2130
|
+
└── main.cpp
|
|
2131
|
+
```
|
|
2132
|
+
|
|
2133
|
+
具体验证如下:
|
|
2134
|
+
|
|
2135
|
+
1. 关闭render service。
|
|
2136
|
+
|
|
2137
|
+
```
|
|
2138
|
+
service_control stop render_service
|
|
2139
|
+
```
|
|
2140
|
+
|
|
2141
|
+
2. 关闭 foundation进程。
|
|
2142
|
+
|
|
2143
|
+
```
|
|
2144
|
+
service_control stop foundation
|
|
2145
|
+
```
|
|
2146
|
+
|
|
2147
|
+
3. 运行hello_composer 测试相关接口。
|
|
2148
|
+
|
|
2149
|
+
```
|
|
2150
|
+
./hello_composer
|
|
2151
|
+
```
|
|
2152
|
+
|
|
2153
|
+
devicetest测试:HDI显示模块提供的测试模块,主要测试HDI接口、显示buffer、驱动等能力,测试时也需要关闭render service和 foundation进程。
|
|
2154
|
+
|
|
2155
|
+
代码路径:/drivers/peripheral/display/test/unittest/standard
|
|
2156
|
+
|
|
2157
|
+
```
|
|
2158
|
+
├── BUILD.gn
|
|
2159
|
+
├── common
|
|
2160
|
+
│ ├── display_test.h
|
|
2161
|
+
│ ├── display_test_utils.cpp
|
|
2162
|
+
│ └── display_test_utils.h
|
|
2163
|
+
├── display_device
|
|
2164
|
+
│ ├── hdi_composition_check.cpp
|
|
2165
|
+
│ ├── hdi_composition_check.h
|
|
2166
|
+
│ ├── hdi_device_test.cpp
|
|
2167
|
+
│ ├── hdi_device_test.h
|
|
2168
|
+
│ ├── hdi_test_device_common.h
|
|
2169
|
+
│ ├── hdi_test_device.cpp
|
|
2170
|
+
│ ├── hdi_test_device.h
|
|
2171
|
+
│ ├── hdi_test_display.cpp
|
|
2172
|
+
│ ├── hdi_test_display.h
|
|
2173
|
+
│ ├── hdi_test_layer.cpp
|
|
2174
|
+
│ ├── hdi_test_layer.h
|
|
2175
|
+
│ ├── hdi_test_render_utils.cpp
|
|
2176
|
+
│ └── hdi_test_render_utils.h
|
|
2177
|
+
└── display_gralloc
|
|
2178
|
+
├── display_gralloc_test.cpp
|
|
2179
|
+
└── display_gralloc_test.h
|
|
2180
|
+
```
|
|
2181
|
+
|
|
2182
|
+
### GPU
|
|
2183
|
+
|
|
2184
|
+
编译器clang。
|
|
2185
|
+
|
|
2186
|
+
```
|
|
2187
|
+
prebuilts/clang/ohos/linux-x86_64/llvm
|
|
2188
|
+
```
|
|
2189
|
+
|
|
2190
|
+
musl库。
|
|
2191
|
+
|
|
2192
|
+
```
|
|
2193
|
+
./build.sh --product-name rk3568 --build-target musl_all
|
|
2194
|
+
```
|
|
2195
|
+
|
|
2196
|
+
编译完成后,会在 out/{product_name}/obj/third_party/musl/usr/lib目录下生成对应的头文件和库:
|
|
2197
|
+
|
|
2198
|
+
```
|
|
2199
|
+
32位对应arm-linux-ohos
|
|
2200
|
+
|
|
2201
|
+
64位对应aarch64-linux-ohos
|
|
2202
|
+
```
|
|
2203
|
+
|
|
2204
|
+
源码目录:
|
|
2205
|
+
|
|
2206
|
+
```
|
|
2207
|
+
third_party/musl
|
|
2208
|
+
```
|
|
2209
|
+
|
|
2210
|
+
GPU 编译参数参考。
|
|
2211
|
+
|
|
2212
|
+
```
|
|
2213
|
+
TARGET_CFLAGS=" -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mfpu=neon -mthumb --target=arm-linux-ohosmusl -fPIC -ftls-model=global-dynamic -mtls-direct-seg-refs -DUSE_MUSL"
|
|
2214
|
+
```
|
|
2215
|
+
|
|
2216
|
+
## LCD
|
|
2217
|
+
|
|
2218
|
+
dayu200平台默认支持一个mipi接口的lcd屏幕。
|
|
2219
|
+
|
|
2220
|
+
LCD的适配主要依赖于HDF显示模型,显示驱动模型基于 HDF 驱动框架、Platform 接口及 OSAL 接口开发,可以屏蔽不同内核形态(LiteOS、Linux)差异,适用于不同芯片平台,为显示屏器件提供统一的驱动平台。
|
|
2221
|
+
|
|
2222
|
+
如图为 HDF Display驱动模型层次关系。
|
|
2223
|
+
|
|
2224
|
+

|
|
2225
|
+
|
|
2226
|
+
当前驱动模型主要部署在内核态中,向上对接到 Display 公共 hal 层,辅助 HDI 的实现。显示驱动通过 Display-HDI 层对图形服务暴露显示屏驱动能力;向下对接显示屏 panel 器件,驱动屏幕正常工作,自上而下打通显示全流程通路。
|
|
2227
|
+
|
|
2228
|
+
所以LCD的适配主要在于LCD panel器件驱动的适配。
|
|
2229
|
+
|
|
2230
|
+
器件驱动的适配分为2部分:panel驱动和hcs配置。
|
|
2231
|
+
|
|
2232
|
+
涉及的文件有:
|
|
2233
|
+
|
|
2234
|
+
```
|
|
2235
|
+
drivers/framework/model/display/driver/panel
|
|
2236
|
+
|
|
2237
|
+
vendor/hihope/rk3568/hdf_config/khdf/device_info
|
|
2238
|
+
|
|
2239
|
+
vendor/hihope/rk3568/hdf_config/khdf/input
|
|
2240
|
+
```
|
|
2241
|
+
|
|
2242
|
+
### panel驱动
|
|
2243
|
+
|
|
2244
|
+
器件驱动主要围绕如下接口展开:
|
|
2245
|
+
|
|
2246
|
+
```
|
|
2247
|
+
struct PanelData {
|
|
2248
|
+
struct HdfDeviceObject *object;
|
|
2249
|
+
int32_t (*init)(struct PanelData *panel);
|
|
2250
|
+
int32_t (*on)(struct PanelData *panel);
|
|
2251
|
+
int32_t (*off)(struct PanelData *panel);
|
|
2252
|
+
int32_t (*prepare)(struct PanelData *panel);
|
|
2253
|
+
int32_t (*unprepare)(struct PanelData *panel);
|
|
2254
|
+
struct PanelInfo *info;
|
|
2255
|
+
enum PowerStatus powerStatus;
|
|
2256
|
+
struct PanelEsd *esd;
|
|
2257
|
+
struct BacklightDev *blDev;
|
|
2258
|
+
void *priv;
|
|
2259
|
+
};
|
|
2260
|
+
```
|
|
2261
|
+
|
|
2262
|
+
驱动中在初始化接口中实例化该结构体:
|
|
2263
|
+
|
|
2264
|
+
panelSimpleDev->panel.init = PanelSimpleInit;
|
|
2265
|
+
panelSimpleDev->panel.on = PanelSimpleOn;
|
|
2266
|
+
panelSimpleDev->panel.off = PanelSimpleOff;
|
|
2267
|
+
panelSimpleDev->panel.prepare = PanelSimplePrepare;
|
|
2268
|
+
panelSimpleDev->panel.unprepare = PanelSimpleUnprepare;
|
|
2269
|
+
PanelSimpleInit负责panel的软件初始化。
|
|
2270
|
+
|
|
2271
|
+
PanelSimpleOn负责亮屏。
|
|
2272
|
+
|
|
2273
|
+
PanelSimpleOff负责灭屏。
|
|
2274
|
+
|
|
2275
|
+
PanelSimplePrepare负责亮屏的硬件时序初始化。
|
|
2276
|
+
|
|
2277
|
+
PanelSimpleUnprepare负责灭屏的硬件时序初始化。
|
|
2278
|
+
|
|
2279
|
+
实例化后使用RegisterPanel接口向display模型注册该panel驱动即可。
|
|
2280
|
+
|
|
2281
|
+
需要说明的是,dayu200上的这款lcd 使用的是DRM显示框架。
|
|
2282
|
+
|
|
2283
|
+
### hcs配置
|
|
2284
|
+
|
|
2285
|
+
```
|
|
2286
|
+
device4 :: deviceNode {
|
|
2287
|
+
policy = 0;
|
|
2288
|
+
priority = 100;
|
|
2289
|
+
preload = 0;
|
|
2290
|
+
moduleName = "LCD_PANEL_SIMPLE";
|
|
2291
|
+
}
|
|
2292
|
+
```
|
|
2293
|
+
|
|
2294
|
+
## 背光
|
|
2295
|
+
|
|
2296
|
+
基于HDF框架开发的 背光驱动模型。
|
|
2297
|
+
|
|
2298
|
+

|
|
2299
|
+
|
|
2300
|
+
rk3568背光是通过pwm控制占空比实现的,具体使用的是pwm4。
|
|
2301
|
+
|
|
2302
|
+
原生背光驱动代码路径。
|
|
2303
|
+
|
|
2304
|
+
```c
|
|
2305
|
+
linux-5.10/drivers/video/backlight/pwm_bl.c
|
|
2306
|
+
linux-5.10/drivers/video/backlight/backlight.c
|
|
2307
|
+
linux-5.10/drivers/pwm/pwm-rockchip.c
|
|
2308
|
+
```
|
|
2309
|
+
|
|
2310
|
+
使用HDF框架下的背光驱动,需要关闭原生驱动。
|
|
2311
|
+
|
|
2312
|
+
```c
|
|
2313
|
+
# CONFIG_BACKLIGHT_PWM is not set
|
|
2314
|
+
```
|
|
2315
|
+
|
|
2316
|
+
### HDF实现
|
|
2317
|
+
|
|
2318
|
+
代码路径。
|
|
2319
|
+
|
|
2320
|
+
```c
|
|
2321
|
+
drivers/framework/model/display/driver/backlight/hdf_bl.c
|
|
2322
|
+
```
|
|
2323
|
+
|
|
2324
|
+
HDF BL 入口函数。
|
|
2325
|
+
|
|
2326
|
+
```c
|
|
2327
|
+
static int32_t BacklightInit(struct HdfDeviceObject *object)
|
|
2328
|
+
{
|
|
2329
|
+
if (object == NULL) {
|
|
2330
|
+
HDF_LOGE("%s: object is null!", __func__);
|
|
2331
|
+
return HDF_FAILURE;
|
|
2332
|
+
}
|
|
2333
|
+
HDF_LOGI("%s success", __func__);
|
|
2334
|
+
return HDF_SUCCESS;
|
|
2335
|
+
}
|
|
2336
|
+
|
|
2337
|
+
struct HdfDriverEntry g_blDevEntry = {
|
|
2338
|
+
.moduleVersion = 1,
|
|
2339
|
+
.moduleName = "HDF_BL",
|
|
2340
|
+
.Init = BacklightInit,
|
|
2341
|
+
.Bind = BacklightBind,
|
|
2342
|
+
};
|
|
2343
|
+
|
|
2344
|
+
HDF_INIT(g_blDevEntry);
|
|
2345
|
+
```
|
|
2346
|
+
|
|
2347
|
+
代码路径:
|
|
2348
|
+
|
|
2349
|
+
```c
|
|
2350
|
+
drivers/framework/model/display/driver/backlight/pwm_bl.c
|
|
2351
|
+
```
|
|
2352
|
+
|
|
2353
|
+
HDF PWM 入口函数。
|
|
2354
|
+
|
|
2355
|
+
```c
|
|
2356
|
+
struct HdfDriverEntry g_pwmBlDevEntry = {
|
|
2357
|
+
.moduleVersion = 1,
|
|
2358
|
+
.moduleName = "PWM_BL",
|
|
2359
|
+
.Init = BlPwmEntryInit,
|
|
2360
|
+
};
|
|
2361
|
+
|
|
2362
|
+
HDF_INIT(g_pwmBlDevEntry);
|
|
2363
|
+
```
|
|
2364
|
+
|
|
2365
|
+
具体控制背光的接口:
|
|
2366
|
+
|
|
2367
|
+
```c
|
|
2368
|
+
static int32_t BlPwmUpdateBrightness(struct BacklightDev *blDev, uint32_t brightness)
|
|
2369
|
+
{
|
|
2370
|
+
int32_t ret;
|
|
2371
|
+
uint32_t duty;
|
|
2372
|
+
struct BlPwmDev *blPwmDev = NULL;
|
|
2373
|
+
|
|
2374
|
+
blPwmDev = ToBlDevPriv(blDev);
|
|
2375
|
+
if (blPwmDev == NULL) {
|
|
2376
|
+
HDF_LOGE("%s blPwmDev is null", __func__);
|
|
2377
|
+
return HDF_FAILURE;
|
|
2378
|
+
}
|
|
2379
|
+
if (blPwmDev->props.maxBrightness == 0) {
|
|
2380
|
+
HDF_LOGE("%s maxBrightness is 0", __func__);
|
|
2381
|
+
return HDF_FAILURE;
|
|
2382
|
+
}
|
|
2383
|
+
if (brightness == 0) {
|
|
2384
|
+
return PwmDisable(blPwmDev->pwmHandle);
|
|
2385
|
+
}
|
|
2386
|
+
duty = (brightness * blPwmDev->config.period) / blPwmDev->props.maxBrightness;
|
|
2387
|
+
ret = PwmSetDuty(blPwmDev->pwmHandle, duty);
|
|
2388
|
+
if (ret != HDF_SUCCESS) {
|
|
2389
|
+
HDF_LOGE("%s: PwmSetDuty failed, ret %d", __func__, ret);
|
|
2390
|
+
return HDF_FAILURE;
|
|
2391
|
+
}
|
|
2392
|
+
return PwmEnable(blPwmDev->pwmHandle);
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
static struct BacklightOps g_blDevOps = {
|
|
2396
|
+
.updateBrightness = BlPwmUpdateBrightness,
|
|
2397
|
+
};
|
|
2398
|
+
```
|
|
2399
|
+
|
|
2400
|
+
其实使用的就是HDF PWM 实现的对接内核pwm的接口。
|
|
2401
|
+
|
|
2402
|
+

|
|
2403
|
+
|
|
2404
|
+
在LCD HDF器件驱动注册背光。
|
|
2405
|
+
|
|
2406
|
+
代码路径。
|
|
2407
|
+
|
|
2408
|
+
```c
|
|
2409
|
+
drivers/framework/model/display/driver/panel/ili9881c_boe.c
|
|
2410
|
+
```
|
|
2411
|
+
|
|
2412
|
+
```c
|
|
2413
|
+
ili9881cBoeDev->panel.blDev = GetBacklightDev("hdf_pwm");
|
|
2414
|
+
if (ili9881cBoeDev->panel.blDev == NULL) {
|
|
2415
|
+
HDF_LOGE("%s GetBacklightDev fail", __func__);
|
|
2416
|
+
goto FAIL;
|
|
2417
|
+
}
|
|
2418
|
+
```
|
|
2419
|
+
|
|
2420
|
+
### HCS配置
|
|
2421
|
+
|
|
2422
|
+
驱动hcs配置。
|
|
2423
|
+
|
|
2424
|
+
```c
|
|
2425
|
+
device_pwm_bl :: device {
|
|
2426
|
+
device0 :: deviceNode {
|
|
2427
|
+
policy = 0;
|
|
2428
|
+
priority = 95;
|
|
2429
|
+
preload = 0;
|
|
2430
|
+
moduleName = "PWM_BL";
|
|
2431
|
+
deviceMatchAttr = "pwm_bl_dev";
|
|
2432
|
+
}
|
|
2433
|
+
}
|
|
2434
|
+
device_backlight :: device {
|
|
2435
|
+
device0 :: deviceNode {
|
|
2436
|
+
policy = 2;
|
|
2437
|
+
priority = 90;
|
|
2438
|
+
preload = 0;
|
|
2439
|
+
permission = 0660;
|
|
2440
|
+
moduleName = "HDF_BL";
|
|
2441
|
+
serviceName = "hdf_bl";
|
|
2442
|
+
}
|
|
2443
|
+
}
|
|
2444
|
+
```
|
|
2445
|
+
|
|
2446
|
+
pwm背光的hcs配置。
|
|
2447
|
+
|
|
2448
|
+
```c
|
|
2449
|
+
root {
|
|
2450
|
+
backlightConfig {
|
|
2451
|
+
pwmBacklightConfig {
|
|
2452
|
+
match_attr = "pwm_bl_dev";
|
|
2453
|
+
pwmDevNum = 1;
|
|
2454
|
+
pwmMaxPeriod = 25000;
|
|
2455
|
+
backlightDevName = "hdf_pwm";
|
|
2456
|
+
minBrightness = 0;
|
|
2457
|
+
defBrightness = 127;
|
|
2458
|
+
maxBrightness = 255;
|
|
2459
|
+
}
|
|
2460
|
+
}
|
|
2461
|
+
}
|
|
2462
|
+
```
|
|
2463
|
+
|
|
2464
|
+
### 测试
|
|
2465
|
+
|
|
2466
|
+
cat /sys/kernel/debug/pwm 来查看hdf pwm 是否申请到pwm4。
|
|
2467
|
+
|
|
2468
|
+
申请成功有如下结果:
|
|
2469
|
+
|
|
2470
|
+
requested 代表申请成功。
|
|
2471
|
+
|
|
2472
|
+
enabled 代表pwm4使能成功。
|
|
2473
|
+
|
|
2474
|
+
```c
|
|
2475
|
+
# cat /sys/kernel/debug/pwm
|
|
2476
|
+
|
|
2477
|
+
platform/fe6e0000.pwm, 1 PWM device
|
|
2478
|
+
pwm-0 ((null) ): requested enabled period: 25000 ns duty: 9705 ns polarity: normal
|
|
2479
|
+
```
|
|
2480
|
+
|
|
2481
|
+
## **WIFI**
|
|
2482
|
+
|
|
2483
|
+
### WIFI HDF化思路
|
|
2484
|
+
|
|
2485
|
+
主要参考[《OpenHarmony HDF WLAN驱动分析》](https://mp.weixin.qq.com/s/iiE97pqPtzWIZadcjrQtsw)与使用 这篇文章,熟悉HDF WLAN的框架以及需要实现的主要接口,包括HDF驱动初始化接口、WLAN控制侧接口集、AP模式接口集、STA模式接口集、网络侧接口集、事件上报接口的实现。
|
|
2486
|
+
|
|
2487
|
+
接下来熟悉HCS文件的格式以及"HDF WIFI”核心驱动框架的代码启动初始化过程,参考hi3881的代码进行改造。
|
|
2488
|
+
|
|
2489
|
+
HDF WiFi框架总体框架图。
|
|
2490
|
+
|
|
2491
|
+

|
|
2492
|
+
|
|
2493
|
+
### ap6275s驱动代码流程分析
|
|
2494
|
+
|
|
2495
|
+
#### 驱动模块初始化流程分析
|
|
2496
|
+
|
|
2497
|
+

|
|
2498
|
+
|
|
2499
|
+
Ap6275s 是一款SDIO设备WiFi模组驱动,使用标准Linux的SDIO设备驱动。内核模块初始化入口module_init()调用dhd_wifi_platform_load_sdio()函数进行初始化工作,这里调用wifi_platform_set_power()进行GPIO上电,调用dhd_wlan_set_carddetect()进行探测SDIO设备卡,最后调用sdio_register_driver(&bcmsdh_sdmmc_driver);进行SDIO设备驱动的注册,SDIO总线已经检测到WiFi模块设备 根据设备号和厂商号与该设备驱动匹配, 所以立即回调该驱动的bcmsdh_sdmmc_probe()函数,这里进行WiFi模组芯片的初始化工作,最后创建net_device网络接口wlan0,然后注册到Linux内核协议栈中。
|
|
2500
|
+
|
|
2501
|
+
l 创建net_device网络接口wlan0对象。
|
|
2502
|
+
|
|
2503
|
+
dhd_allocate_if()会调用alloc_etherdev()创建net_device对象,即wlan0网络接口。
|
|
2504
|
+
|
|
2505
|
+
l 将wlan0注册到内核协议栈。
|
|
2506
|
+
|
|
2507
|
+
调用dhd_register_if()函数,这里调用register_netdev(net);将wlan0网络接口注册到协议栈。
|
|
2508
|
+
|
|
2509
|
+
### 整改代码适配HDF WiFi框架
|
|
2510
|
+
|
|
2511
|
+
对于系统WiFi功能的使用,需要实现AP模式、STA模式、P2P三种主流模式,这里使用wpa_supplicant应用程序通过HDF WiFi框架与WiFi驱动进行交互,实现STA模式和P2P模式的功能,使用hostapd应用程序通过HDF WiFi框架与WiFi驱动进行交互,实现AP模式和P2P模式的功能。
|
|
2512
|
+
|
|
2513
|
+
Ap6275s WiFi6内核驱动依赖platform能力,主要包括SDIO总线的通讯能力;与用户态通信依赖HDF WiFi框架的能力,在确保上述能力功能正常后,即可开始本次WiFi驱动的HDF适配移植工作。本文档基于已经开源的rk3568开源版代码为基础版本,来进行此次移植。
|
|
2514
|
+
|
|
2515
|
+
适配移植ap6275s WiFi6驱动涉及到的文件和目录如下:
|
|
2516
|
+
|
|
2517
|
+
1). 编译配置文件。
|
|
2518
|
+
|
|
2519
|
+
drivers/adapter/khdf/linux/model/network/wifi/Kconfig
|
|
2520
|
+
|
|
2521
|
+
drivers/adapter/khdf/linux/model/network/wifi/vendor/Makefile
|
|
2522
|
+
|
|
2523
|
+
2). WiFi驱动源码目录。
|
|
2524
|
+
|
|
2525
|
+
原生驱动代码存放于:
|
|
2526
|
+
|
|
2527
|
+
linux-5.10/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd_wifi6/
|
|
2528
|
+
|
|
2529
|
+
在原生驱动上增加以及修改的代码文件位于:
|
|
2530
|
+
|
|
2531
|
+
device/hihope/rk3568/wifi/bcmdhd_wifi6/
|
|
2532
|
+
|
|
2533
|
+
目录结构:
|
|
2534
|
+
|
|
2535
|
+
```
|
|
2536
|
+
./device/hihope/rk3568/wifi/bcmdhd_wifi6/hdf
|
|
2537
|
+
├── hdf_bdh_mac80211.c
|
|
2538
|
+
├── hdf_driver_bdh_register.c
|
|
2539
|
+
├── hdfinit_bdh.c
|
|
2540
|
+
├── hdf_mac80211_ap.c
|
|
2541
|
+
├── hdf_mac80211_sta.c
|
|
2542
|
+
├── hdf_mac80211_sta.h
|
|
2543
|
+
├── hdf_mac80211_sta_event.c
|
|
2544
|
+
├── hdf_mac80211_sta_event.h
|
|
2545
|
+
├── hdf_mac80211_p2p.c
|
|
2546
|
+
├── hdf_public_ap6275s.h
|
|
2547
|
+
├── net_bdh_adpater.c
|
|
2548
|
+
├── net_bdh_adpater.h
|
|
2549
|
+
```
|
|
2550
|
+
|
|
2551
|
+
其中hdf_bdh_mac80211.c主要对g_bdh6_baseOps所需函数的填充,hdf_mac80211_ap.c主要对g_bdh6_staOps所需函数进行填充,hdf_mac80211_sta.c主要对g_bdh6_staOps所需函数进行填充,hdf_mac80211_p2p.c主要对g_bdh6_p2pOps所需函数进行填充,在openharmony/drivers/framework/include/wifi/wifi_mac80211_ops.h里有对wifi基本功能所需api的说明。
|
|
2552
|
+
|
|
2553
|
+
#### 驱动文件编写
|
|
2554
|
+
|
|
2555
|
+
HDF WLAN驱动框架由Module、NetDevice、NetBuf、BUS、HAL、Client 和 Message 这七个部分组成。开发者在WiFi驱动HDF适配过程中主要实现以下几部分功能:
|
|
2556
|
+
|
|
2557
|
+
1) 适配HDF WLAN框架的驱动模块初始化。
|
|
2558
|
+
|
|
2559
|
+
代码流程框图如下:
|
|
2560
|
+
|
|
2561
|
+

|
|
2562
|
+
|
|
2563
|
+
代码位于device/hihope/rk3568/wifi/bcmdhd_wifi6/hdf_driver_bdh_register.c
|
|
2564
|
+
|
|
2565
|
+
```
|
|
2566
|
+
struct HdfDriverEntry g_hdfBdh6ChipEntry = {
|
|
2567
|
+
.moduleVersion = 1,
|
|
2568
|
+
.Bind = HdfWlanBDH6DriverBind,
|
|
2569
|
+
.Init = HdfWlanBDH6ChipDriverInit,
|
|
2570
|
+
.Release = HdfWlanBDH6ChipRelease,
|
|
2571
|
+
.moduleName = "HDF_WLAN_CHIPS"
|
|
2572
|
+
};
|
|
2573
|
+
HDF_INIT(g_hdfBdh6ChipEntry);
|
|
2574
|
+
```
|
|
2575
|
+
|
|
2576
|
+
在驱动初始化时会实现SDIO主控扫描探卡、WiFi芯片初始化、主接口的创建和初始化等工作。
|
|
2577
|
+
|
|
2578
|
+
2) HDF WLAN Base控制侧接口的实现。
|
|
2579
|
+
|
|
2580
|
+
代码位于hdf_bdh_mac80211.c
|
|
2581
|
+
|
|
2582
|
+
```
|
|
2583
|
+
static struct HdfMac80211BaseOps g_bdh6_baseOps = {
|
|
2584
|
+
.SetMode = BDH6WalSetMode,
|
|
2585
|
+
.AddKey = BDH6WalAddKey,
|
|
2586
|
+
.DelKey = BDH6WalDelKey,
|
|
2587
|
+
.SetDefaultKey = BDH6WalSetDefaultKey,
|
|
2588
|
+
.GetDeviceMacAddr = BDH6WalGetDeviceMacAddr,
|
|
2589
|
+
.SetMacAddr = BDH6WalSetMacAddr,
|
|
2590
|
+
.SetTxPower = BDH6WalSetTxPower,
|
|
2591
|
+
.GetValidFreqsWithBand = BDH6WalGetValidFreqsWithBand,
|
|
2592
|
+
.GetHwCapability = BDH6WalGetHwCapability,
|
|
2593
|
+
.SendAction = BDH6WalSendAction,
|
|
2594
|
+
.GetIftype = BDH6WalGetIftype,
|
|
2595
|
+
};
|
|
2596
|
+
```
|
|
2597
|
+
|
|
2598
|
+
上述实现的接口供STA、AP、P2P三种模式中所调用。
|
|
2599
|
+
|
|
2600
|
+
3) HDF WLAN STA模式接口的实现。
|
|
2601
|
+
|
|
2602
|
+
STA模式调用流程图如下:
|
|
2603
|
+
|
|
2604
|
+

|
|
2605
|
+
|
|
2606
|
+
代码位于hdf_mac80211_sta.c
|
|
2607
|
+
|
|
2608
|
+
```
|
|
2609
|
+
struct HdfMac80211STAOps g_bdh6_staOps = {
|
|
2610
|
+
.Connect = HdfConnect,
|
|
2611
|
+
.Disconnect = HdfDisconnect,
|
|
2612
|
+
.StartScan = HdfStartScan,
|
|
2613
|
+
.AbortScan = HdfAbortScan,
|
|
2614
|
+
.SetScanningMacAddress = HdfSetScanningMacAddress,
|
|
2615
|
+
};
|
|
2616
|
+
```
|
|
2617
|
+
|
|
2618
|
+
4) HDF WLAN AP模式接口的实现。
|
|
2619
|
+
|
|
2620
|
+
AP模式调用流程图如下:
|
|
2621
|
+
|
|
2622
|
+

|
|
2623
|
+
|
|
2624
|
+
代码位于hdf_mac80211_ap.c
|
|
2625
|
+
|
|
2626
|
+
```
|
|
2627
|
+
struct HdfMac80211APOps g_bdh6_apOps = {
|
|
2628
|
+
.ConfigAp = WalConfigAp,
|
|
2629
|
+
.StartAp = WalStartAp,
|
|
2630
|
+
.StopAp = WalStopAp,
|
|
2631
|
+
.ConfigBeacon = WalChangeBeacon,
|
|
2632
|
+
.DelStation = WalDelStation,
|
|
2633
|
+
.SetCountryCode = WalSetCountryCode,
|
|
2634
|
+
.GetAssociatedStasCount = WalGetAssociatedStasCount,
|
|
2635
|
+
.GetAssociatedStasInfo = WalGetAssociatedStasInfo
|
|
2636
|
+
};
|
|
2637
|
+
```
|
|
2638
|
+
|
|
2639
|
+
5) HDF WLAN P2P模式接口的实现。
|
|
2640
|
+
|
|
2641
|
+
P2P模式调用流程图如下:
|
|
2642
|
+
|
|
2643
|
+

|
|
2644
|
+
|
|
2645
|
+
```
|
|
2646
|
+
struct HdfMac80211P2POps g_bdh6_p2pOps = {
|
|
2647
|
+
.RemainOnChannel = WalRemainOnChannel,
|
|
2648
|
+
.CancelRemainOnChannel = WalCancelRemainOnChannel,
|
|
2649
|
+
.ProbeReqReport = WalProbeReqReport,
|
|
2650
|
+
.AddIf = WalAddIf,
|
|
2651
|
+
.RemoveIf = WalRemoveIf,
|
|
2652
|
+
.SetApWpsP2pIe = WalSetApWpsP2pIe,
|
|
2653
|
+
.GetDriverFlag = WalGetDriverFlag,
|
|
2654
|
+
};
|
|
2655
|
+
```
|
|
2656
|
+
|
|
2657
|
+
6) HDF WLAN框架事件上报接口的实现。
|
|
2658
|
+
|
|
2659
|
+
WiFi驱动需要通过上报事件给wpa_supplicant和hostapd应用程序,比如扫描热点结果上报,新STA终端关联完成事件上报等等,HDF WLAN事件上报的所有接口请参考drivers/framework/include/wifi/hdf_wifi_event.h:
|
|
2660
|
+
|
|
2661
|
+
事件上报HDF WLAN接口主要有:
|
|
2662
|
+
|
|
2663
|
+
| 头文件 hdf_wifi_event.h接口名称 | 功能描述 |
|
|
2664
|
+
| ----------------------------------- | ------------------------ |
|
|
2665
|
+
| HdfWifiEventNewSta() | 上报一个新的sta事件。 |
|
|
2666
|
+
| HdfWifiEventDelSta() | 上报一个删除sta事件。 |
|
|
2667
|
+
| HdfWifiEventInformBssFrame() | 上报扫描Bss事件。 |
|
|
2668
|
+
| HdfWifiEventScanDone() | 上报扫描完成事件。 |
|
|
2669
|
+
| HdfWifiEventConnectResult() | 上报连接结果事件。 |
|
|
2670
|
+
| HdfWifiEventDisconnected() | 上报断开连接事件。 |
|
|
2671
|
+
| HdfWifiEventMgmtTxStatus() | 上报发送状态事件。 |
|
|
2672
|
+
| HdfWifiEventRxMgmt() | 上报接受状态事件。 |
|
|
2673
|
+
| HdfWifiEventCsaChannelSwitch() | 上报Csa频段切换事件。 |
|
|
2674
|
+
| HdfWifiEventTimeoutDisconnected() | 上报连接超时事件。 |
|
|
2675
|
+
| HdfWifiEventEapolRecv() | 上报Eapol接收事件。 |
|
|
2676
|
+
| HdfWifiEventResetResult() | 上报wlan驱动复位结果事件。 |
|
|
2677
|
+
| HdfWifiEventRemainOnChannel() | 上报保持信道事件。 |
|
|
2678
|
+
| HdfWifiEventCancelRemainOnChannel | 上报取消保持信道事件。 |
|
|
2679
|
+
|
|
2680
|
+
### 所有关键问题总结
|
|
2681
|
+
|
|
2682
|
+
#### 调试AP模块时,启动AP模式的方法
|
|
2683
|
+
|
|
2684
|
+
调试AP模块时,无法正常开启AP功能的解决方法。
|
|
2685
|
+
|
|
2686
|
+
需要使用到busybox和hostapd配置ap功能,操作步骤如下:
|
|
2687
|
+
|
|
2688
|
+
```
|
|
2689
|
+
ifconfig wlan0 up
|
|
2690
|
+
ifconfig wlan0 192.168.12.1 netmask 255.255.255.0
|
|
2691
|
+
busybox udhcpd /data/udhcpd.conf
|
|
2692
|
+
./hostapd -d /data/hostapd.conf
|
|
2693
|
+
```
|
|
2694
|
+
|
|
2695
|
+
#### 调试STA模块时,启动STA模式的方法
|
|
2696
|
+
|
|
2697
|
+
```
|
|
2698
|
+
wpa_supplicant -iwlan0 -c /data/l2tool/wpa_supplicant.conf -d &
|
|
2699
|
+
./busybox udhcpc -i wlan0 -s /data/l2tool/dhcpc.sh
|
|
2700
|
+
```
|
|
2701
|
+
|
|
2702
|
+
#### 扫描热点事件无法上报到wap_supplicant的解决办法
|
|
2703
|
+
|
|
2704
|
+
wpa_supplicant 这个应用程序启动时不能加 -B参数后台启动,-B后台启动的话,调用poll()等待接收事件的线程会退出,所以无法接收上报事件,
|
|
2705
|
+
|
|
2706
|
+
wpa_supplicant -iwlan0 -c /data/wpa_supplicant.conf & 这样后台启动就可以了。
|
|
2707
|
+
|
|
2708
|
+
#### wpa2psk方式无法认证超时问题解决方法
|
|
2709
|
+
|
|
2710
|
+
分析流程发现 hostapd没有接收到WIFI_WPA_EVENT_EAPOL_RECV = 13这个事件,原来是驱动没有将接收到的EAPOL报文通过HDF WiFi框架发送给hostapd进程,在驱动接收报文后,调用netif_rx()触发软中断前将EAPOL报文发送给HDF WiFi框架,认证通过了。
|
|
2711
|
+
|
|
2712
|
+
#### P2P模式连接不成功问题定位分析
|
|
2713
|
+
|
|
2714
|
+
在调试P2P连接接口时,发现手机P2P直连界面总是处于已邀请提示,无法连接成功,通过抓取手机和WiFi模组正常连接成功报文和HDF适配后连接失败的报文进行比对,在失败的报文组中,发现手机侧多回复了一帧ACTION报文,提示无效参数,然后终止了P2P连接。
|
|
2715
|
+
|
|
2716
|
+

|
|
2717
|
+
|
|
2718
|
+
最后比对WiFi模组向手机发送的ACTION报文内容,发现填充的P2P Device Info的MAC地址值不对,如下:
|
|
2719
|
+
|
|
2720
|
+
正确帧内容:
|
|
2721
|
+
|
|
2722
|
+

|
|
2723
|
+
|
|
2724
|
+
错误帧内容:
|
|
2725
|
+
|
|
2726
|
+

|
|
2727
|
+
|
|
2728
|
+
最后经过分析MAC地址的填充部分代码,这个MAC地址是wpa_supplicant 根据p2p0的MAC地址填充的,所以将wdev对象(即p2p-dev-wlan0)的MAC地址更新给p2p0接口,二者保持一致即可,见代码wl_get_vif_macaddr(cfg, 7, p2p_hnetdev->macAddr);的调用。
|
|
2729
|
+
|
|
2730
|
+
### 连接成功日志
|
|
2731
|
+
|
|
2732
|
+
#### STA模式连接成功日志
|
|
2733
|
+
|
|
2734
|
+
```
|
|
2735
|
+
WPA: Key negotiation completed with 50:eb:f6:02:8e6:d4 [PTK=CCMP GTK=CCMP]
|
|
2736
|
+
06 wlan0: State: GROUP_HANDSHAKEc -> COMPLETED
|
|
2737
|
+
wlan0: CTRL-E4VENT-CONNECTED - Connection to 50:eb:f6:02:8e:d4 completed 3[id=0 id_str=]
|
|
2738
|
+
WifiWpaReceived eEapol done
|
|
2739
|
+
```
|
|
2740
|
+
|
|
2741
|
+
#### AP模式连接成功日志
|
|
2742
|
+
|
|
2743
|
+
```
|
|
2744
|
+
wlan0: STA 96:27:b3:95:b7:6e IEEE 802.1X: au:thorizing port
|
|
2745
|
+
wlan0: STA 96:27:b3:95:b7:6e WPA: pairwise key handshake completed (RSN)
|
|
2746
|
+
WifiWpaReceiveEapol done
|
|
2747
|
+
```
|
|
2748
|
+
|
|
2749
|
+
#### P2P模式连接成功日志
|
|
2750
|
+
|
|
2751
|
+
```
|
|
2752
|
+
P2P: cli_channels:
|
|
2753
|
+
EAPOL: External notificationtion - portValid=1
|
|
2754
|
+
EAPOL: External notification:tion - EAP success=1
|
|
2755
|
+
EAPOL: SUPP_PAE entering state AUTHENTIwCATING
|
|
2756
|
+
EAPOL: SUPP_BE enterilng state SUCCESS
|
|
2757
|
+
EAP: EAP ent_ering state DISABLED
|
|
2758
|
+
EAPOL: SUPP_PAE entering state AUTHENTICATED
|
|
2759
|
+
EAPOL:n Supplicant port status: Authoorized
|
|
2760
|
+
EAPOL: SUPP_BE entertaining IDLE
|
|
2761
|
+
WifiWpaReceiveEapol donepleted - result=SUCCESS
|
|
2762
|
+
|
|
2763
|
+
\# ifconfig
|
|
2764
|
+
|
|
2765
|
+
lo Link encap:Local Loopback
|
|
2766
|
+
inet addr:127.0.0.1 Mask:255.0.0.0
|
|
2767
|
+
inet6 addr: ::1/128 Scope: Host
|
|
2768
|
+
UP LOOPBACK RUNNING MTU:65536 Metric:1
|
|
2769
|
+
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
|
|
2770
|
+
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
|
|
2771
|
+
collisions:0 txqueuelen:1000
|
|
2772
|
+
RX bytes:565 TX bytes:565
|
|
2773
|
+
|
|
2774
|
+
wlan0 Link encap:Ethernet HWaddr 10:2c:6b:11:61:e0 Driver bcmsdh_sdmmc
|
|
2775
|
+
inet6 addr: fe80::122c:6bff:fe11:61e0/64 Scope: Link
|
|
2776
|
+
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
|
2777
|
+
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
|
2778
|
+
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
|
2779
|
+
collisions:0 txqueuelen:1000
|
|
2780
|
+
RX bytes:0 TX bytes:0
|
|
2781
|
+
|
|
2782
|
+
p2p0 Link encap:Ethernet HWaddr 12:2c:6b:11:61:e0
|
|
2783
|
+
inet6 addr: fe80::102c:6bff:fe11:61e0/64 Scope: Link
|
|
2784
|
+
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
|
2785
|
+
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
|
2786
|
+
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
|
2787
|
+
collisions:0 txqueuelen:1000
|
|
2788
|
+
RX bytes:0 TX bytes:0
|
|
2789
|
+
|
|
2790
|
+
p2p-p2p0-0 Link encap:Ethernet HWaddr 12:2c:6b:11:21:e0 Driver bcmsdh_sdmmc
|
|
2791
|
+
inet6 addr: fe80::102c:6bff:fe11:21e0/64 Scope: Link
|
|
2792
|
+
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
|
2793
|
+
RX packets:0 errors:0 dropped:9 overruns:0 frame:0
|
|
2794
|
+
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
|
2795
|
+
collisions:0 txqueuelen:1000
|
|
2796
|
+
RX bytes:0 TX bytes:0
|
|
2797
|
+
```
|
|
2798
|
+
|
|
2799
|
+
## **BT**
|
|
2800
|
+
|
|
2801
|
+
### HCI接口
|
|
2802
|
+
|
|
2803
|
+
蓝牙整体硬件架构上分为主机(计算机或MCU)和主机控制器(实际蓝牙芯片组)两部分;主机和控制器之间的通信遵循主机控制器接口(HCI),如下所示:
|
|
2804
|
+
|
|
2805
|
+

|
|
2806
|
+
|
|
2807
|
+
HCI定义了如何交换命令,事件,异步和同步数据包。异步数据包(ACL)用于数据传输,而同步数据包(SCO)用于带有耳机和免提配置文件的语音。
|
|
2808
|
+
|
|
2809
|
+
### 硬件连接
|
|
2810
|
+
|
|
2811
|
+
从RK3568芯片描述中看,该芯片并不没有集成WIFI/蓝牙功能,都需要外接蓝牙芯片才能支持蓝牙功能,这也符合上述逻辑架构。那主机和控制器之间物理具体怎么连接呢?查看开发板规格书可以看的更清楚:
|
|
2812
|
+
|
|
2813
|
+

|
|
2814
|
+
|
|
2815
|
+
其中,28-36号管脚就是UART(串口);同时还可以看到有几个管脚分别做电源和休眠控制。
|
|
2816
|
+
|
|
2817
|
+
### 蓝牙VENDORLIB适配
|
|
2818
|
+
|
|
2819
|
+
#### vendorlib是什么
|
|
2820
|
+
|
|
2821
|
+
vendorlib部署在主机侧,可以认为是主机侧对蓝牙芯片驱动层,屏蔽不同蓝牙芯片的技术细节。从代码层面解读,其主要功能有两个:
|
|
2822
|
+
|
|
2823
|
+
1、为协议栈提供蓝牙芯片之间的通道(串口的文件描述符)。
|
|
2824
|
+
|
|
2825
|
+
2、提供特定芯片的具体控制方法。
|
|
2826
|
+
|
|
2827
|
+
#### 代码层面解读vendorlib
|
|
2828
|
+
|
|
2829
|
+
bt_vendor_lib.h 路径:
|
|
2830
|
+
|
|
2831
|
+
```
|
|
2832
|
+
foundation/communication/bluetooth/services/bluetooth_standard/hardware/include
|
|
2833
|
+
```
|
|
2834
|
+
|
|
2835
|
+
该文件定义了协议栈和vendor_lib交互接口,分为两组:
|
|
2836
|
+
|
|
2837
|
+
1、 vendorlib实现,协议栈调用。
|
|
2838
|
+
|
|
2839
|
+
```c
|
|
2840
|
+
typedef struct {
|
|
2841
|
+
/**
|
|
2842
|
+
* Set to sizeof(bt_vendor_interface_t)
|
|
2843
|
+
*/
|
|
2844
|
+
size_t size;
|
|
2845
|
+
/**
|
|
2846
|
+
* Caller will open the interface and pass in the callback routines
|
|
2847
|
+
* to the implementation of this interface.
|
|
2848
|
+
*/
|
|
2849
|
+
int (*init)(const bt_vendor_callbacks_t* p_cb, unsigned char* local_bdaddr);
|
|
2850
|
+
|
|
2851
|
+
/**
|
|
2852
|
+
* Vendor specific operations
|
|
2853
|
+
*/
|
|
2854
|
+
int (*op)(bt_opcode_t opcode, void* param);
|
|
2855
|
+
|
|
2856
|
+
/**
|
|
2857
|
+
* Closes the interface
|
|
2858
|
+
*/
|
|
2859
|
+
void (*close)(void);
|
|
2860
|
+
} bt_vendor_interface_t;
|
|
2861
|
+
```
|
|
2862
|
+
|
|
2863
|
+
协议栈启动时的基本流程如下:
|
|
2864
|
+
|
|
2865
|
+
1.1、协议栈动态打开libbt_vendor.z.so,并调用init函数,初始化vendorlib。
|
|
2866
|
+
|
|
2867
|
+
1.2、协议栈调用op函数,分别调用BT_OP_POWER_ON、BT_OP_HCI_CHANNEL_OPEN、BT_OP_INIT三个opcode;原则上BT_OP_INIT成功后说明芯片初始化完成。
|
|
2868
|
+
|
|
2869
|
+
2、协议栈实现,vendorlib调用(回调函数)。
|
|
2870
|
+
|
|
2871
|
+
```c
|
|
2872
|
+
typedef struct {
|
|
2873
|
+
/**
|
|
2874
|
+
* set to sizeof(bt_vendor_callbacks_t)
|
|
2875
|
+
*/
|
|
2876
|
+
size_t size;
|
|
2877
|
+
|
|
2878
|
+
/* notifies caller result of init request */
|
|
2879
|
+
init_callback init_cb;
|
|
2880
|
+
|
|
2881
|
+
/* buffer allocation request */
|
|
2882
|
+
malloc_callback alloc;
|
|
2883
|
+
|
|
2884
|
+
/* buffer free request */
|
|
2885
|
+
free_callback dealloc;
|
|
2886
|
+
|
|
2887
|
+
/* hci command packet transmit request */
|
|
2888
|
+
cmd_xmit_callback xmit_cb;
|
|
2889
|
+
} bt_vendor_callbacks_t;
|
|
2890
|
+
```
|
|
2891
|
+
|
|
2892
|
+
init_cb在BT_OP_INIT完成后调用。
|
|
2893
|
+
|
|
2894
|
+
alloc/dealloc用于发送HCI消息时申请/释放消息控件。
|
|
2895
|
+
|
|
2896
|
+
xmit_cb发送HCI Commands。
|
|
2897
|
+
|
|
2898
|
+
vendor_lib实现的几个重要函数。
|
|
2899
|
+
|
|
2900
|
+
1、 init函数。
|
|
2901
|
+
|
|
2902
|
+
```c
|
|
2903
|
+
static int init(const bt_vendor_callbacks_t *p_cb, unsigned char *local_bdaddr)
|
|
2904
|
+
{
|
|
2905
|
+
/* * ... */
|
|
2906
|
+
userial_vendor_init();
|
|
2907
|
+
upio_init();
|
|
2908
|
+
|
|
2909
|
+
vnd_load_conf(VENDOR_LIB_CONF_FILE);
|
|
2910
|
+
|
|
2911
|
+
/* store reference to user callbacks */
|
|
2912
|
+
bt_vendor_cbacks = (bt_vendor_callbacks_t *)p_cb;
|
|
2913
|
+
/* This is handed over from the stack */
|
|
2914
|
+
return memcpy_s(vnd_local_bd_addr, BD_ADDR_LEN, local_bdaddr, BD_ADDR_LEN);
|
|
2915
|
+
}
|
|
2916
|
+
```
|
|
2917
|
+
|
|
2918
|
+
vendorlib被调用的第一个函数,vendorlib保存好协议栈的callback和mac地址即可。
|
|
2919
|
+
|
|
2920
|
+
2、 BT_OP_POWER_ON对应处理。
|
|
2921
|
+
|
|
2922
|
+
观名知意,这个操作理论上需要拉高电源管脚电平;该函数中使用rfill设备来处理,并没有直接调用驱动拉高电平。
|
|
2923
|
+
|
|
2924
|
+
```c
|
|
2925
|
+
int upio_set_bluetooth_power(int on)
|
|
2926
|
+
{
|
|
2927
|
+
int sz;
|
|
2928
|
+
int fd = -1;
|
|
2929
|
+
int ret = -1;
|
|
2930
|
+
char buffer = '0';
|
|
2931
|
+
|
|
2932
|
+
switch (on) {
|
|
2933
|
+
case UPIO_BT_POWER_OFF:
|
|
2934
|
+
buffer = '0';
|
|
2935
|
+
break;
|
|
2936
|
+
|
|
2937
|
+
case UPIO_BT_POWER_ON:
|
|
2938
|
+
buffer = '1';
|
|
2939
|
+
break;
|
|
2940
|
+
default:
|
|
2941
|
+
return 0;
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2944
|
+
/* check if we have rfkill interface */
|
|
2945
|
+
if (is_rfkill_disabled()) {
|
|
2946
|
+
return 0;
|
|
2947
|
+
}
|
|
2948
|
+
|
|
2949
|
+
if (rfkill_id == -1) {
|
|
2950
|
+
if (init_rfkill()) {
|
|
2951
|
+
return ret;
|
|
2952
|
+
}
|
|
2953
|
+
}
|
|
2954
|
+
|
|
2955
|
+
fd = open(rfkill_state_path, O_WRONLY);
|
|
2956
|
+
if (fd < 0) {
|
|
2957
|
+
return ret;
|
|
2958
|
+
}
|
|
2959
|
+
|
|
2960
|
+
sz = write(fd, &buffer, 1);
|
|
2961
|
+
/* ... */
|
|
2962
|
+
return ret;
|
|
2963
|
+
}
|
|
2964
|
+
```
|
|
2965
|
+
|
|
2966
|
+
3、BT_OP_HCI_CHANNEL_OPEN对应处理。
|
|
2967
|
+
|
|
2968
|
+
```c
|
|
2969
|
+
case BT_OP_HCI_CHANNEL_OPEN: { // BT_VND_OP_USERIAL_OPEN.
|
|
2970
|
+
int(*fd_array)[] = (int(*)[])param;
|
|
2971
|
+
int fd, idx;
|
|
2972
|
+
fd = userial_vendor_open((tUSERIAL_CFG *)&userial_init_cfg);
|
|
2973
|
+
if (fd != -1) {
|
|
2974
|
+
for (idx = 0; idx < HCI_MAX_CHANNEL; idx++)
|
|
2975
|
+
(*fd_array)[idx] = fd;
|
|
2976
|
+
retval = 1;
|
|
2977
|
+
}
|
|
2978
|
+
/* retval contains numbers of open fd of HCI channels */
|
|
2979
|
+
break;
|
|
2980
|
+
```
|
|
2981
|
+
|
|
2982
|
+
userial_vendor_open函数打开串口设备(UART)得到文件描述符(fd),通过op的参数param返回该fd。
|
|
2983
|
+
|
|
2984
|
+
该串口设备在系统中的名字应该在开发板中预定义了,本次开发板上设备为/dev/ttyS8。
|
|
2985
|
+
|
|
2986
|
+
4、BT_OP_INIT对应处理。
|
|
2987
|
+
|
|
2988
|
+
该操作码要求对蓝牙芯片进行初始化,具体要进行的处理和蓝牙芯片强相关。以本次调测的AP6257S芯片为例,初始化过程中主要是下发蓝牙固件。
|
|
2989
|
+
|
|
2990
|
+
初始化结束后,必须调用init_cb回调函数(参见bt_vendor_callbacks_t)通知协议栈初始化结果,否则会阻塞协议栈线程导致蓝牙相关功能无法正常使用。协议栈的具体处理如下:
|
|
2991
|
+
|
|
2992
|
+
协议栈调用BT_OP_INIT后会等待信号量,该信号量由init_cb函数置位。
|
|
2993
|
+
|
|
2994
|
+
```c
|
|
2995
|
+
static int HciInitHal()
|
|
2996
|
+
{
|
|
2997
|
+
int result = BT_NO_ERROR;
|
|
2998
|
+
|
|
2999
|
+
g_waitHdiInit = SemaphoreCreate(0);
|
|
3000
|
+
int ret = g_hdiLib->hdiInit(&g_hdiCallbacks);
|
|
3001
|
+
if (ret == SUCCESS) {
|
|
3002
|
+
SemaphoreWait(g_waitHdiInit);
|
|
3003
|
+
}
|
|
3004
|
+
}
|
|
3005
|
+
```
|
|
3006
|
+
|
|
3007
|
+
### vendorlib移植问题
|
|
3008
|
+
|
|
3009
|
+
1、 vendorlib的so命名。
|
|
3010
|
+
|
|
3011
|
+
vendorlib必须是libbt_vendor.z.so;因为协议栈打开动态链接库就是这个名字
|
|
3012
|
+
|
|
3013
|
+
2、 固件问题。
|
|
3014
|
+
|
|
3015
|
+
开发时一定要关注芯片固件,有些蓝牙芯片可能无需升级固件,有些则必须升级固件;本次AP6257S适配过程中最开始没有下发固件,导致蓝牙接收信号很差。固件下发时需要注意如下两点:
|
|
3016
|
+
|
|
3017
|
+
2.1、对于AP6257S芯片,因为蓝牙芯片内并没有类似flash存储,要求芯片上下电后必须重新下发。
|
|
3018
|
+
|
|
3019
|
+
2.2、按照芯片本身的要求处理,最好能找到厂商的参考代码;以Broadcom系列芯片为例,其固件下发过程比较复杂,通过一个状态机驱动;共如下9个状态。
|
|
3020
|
+
|
|
3021
|
+
```c
|
|
3022
|
+
/ Hardware Configuration State */
|
|
3023
|
+
enum {
|
|
3024
|
+
HW_CFG_START = 1,
|
|
3025
|
+
HW_CFG_SET_UART_CLOCK,
|
|
3026
|
+
HW_CFG_SET_UART_BAUD_1,
|
|
3027
|
+
HW_CFG_READ_LOCAL_NAME,
|
|
3028
|
+
HW_CFG_DL_MINIDRIVER,
|
|
3029
|
+
HW_CFG_DL_FW_PATCH,
|
|
3030
|
+
HW_CFG_SET_UART_BAUD_2,
|
|
3031
|
+
HW_CFG_SET_BD_ADDR,
|
|
3032
|
+
HW_CFG_READ_BD_ADDR
|
|
3033
|
+
};
|
|
3034
|
+
```
|
|
3035
|
+
|
|
3036
|
+
在收到BT_OP_INIT后初始化状态机,然后发送HCI_REST命令,切换状态为HW_CFG_START;
|
|
3037
|
+
|
|
3038
|
+
```c
|
|
3039
|
+
void hw_config_start(void)
|
|
3040
|
+
{
|
|
3041
|
+
HC_BT_HDR *p_buf = NULL;
|
|
3042
|
+
uint8_t *p;
|
|
3043
|
+
hw_cfg_cb.state = 0;
|
|
3044
|
+
hw_cfg_cb.fw_fd = -1;
|
|
3045
|
+
hw_cfg_cb.f_set_baud_2 = FALSE;
|
|
3046
|
+
|
|
3047
|
+
if (bt_vendor_cbacks) {
|
|
3048
|
+
p_buf = (HC_BT_HDR *)bt_vendor_cbacks->alloc(BT_HC_HDR_SIZE +
|
|
3049
|
+
HCI_CMD_PREAMBLE_SIZE);
|
|
3050
|
+
}
|
|
3051
|
+
|
|
3052
|
+
if (p_buf) {
|
|
3053
|
+
p_buf->event = MSG_STACK_TO_HC_HCI_CMD;
|
|
3054
|
+
p_buf->offset = 0;
|
|
3055
|
+
p_buf->layer_specific = 0;
|
|
3056
|
+
p_buf->len = HCI_CMD_PREAMBLE_SIZE;
|
|
3057
|
+
|
|
3058
|
+
p = (uint8_t *)(p_buf + 1);
|
|
3059
|
+
UINT16_TO_STREAM(p, HCI_RESET);
|
|
3060
|
+
*p = 0;
|
|
3061
|
+
|
|
3062
|
+
hw_cfg_cb.state = HW_CFG_START;
|
|
3063
|
+
bt_vendor_cbacks->xmit_cb(HCI_RESET, p_buf);
|
|
3064
|
+
} else {
|
|
3065
|
+
if (bt_vendor_cbacks) {
|
|
3066
|
+
HILOGE("vendor lib fw conf aborted [no buffer]");
|
|
3067
|
+
bt_vendor_cbacks->init_cb(BTC_OP_RESULT_FAIL);
|
|
3068
|
+
}
|
|
3069
|
+
}
|
|
3070
|
+
}
|
|
3071
|
+
```
|
|
3072
|
+
|
|
3073
|
+
收到芯片返回的HCI_RESET完成事件后,继续切换到下一个状态机并发送下一个COMMAND,一直到状态机完成固件下发。
|
|
3074
|
+
|
|
3075
|
+
详细实现请参见hw_config_cback函数。
|
|
3076
|
+
|
|
3077
|
+
3、 关注系统间接口差异。
|
|
3078
|
+
|
|
3079
|
+
不同系统的接口可能有一些细微差异,需要重点关注;对比其他系统和OHOS的接口,vendorlib调用xmit_cb发送HCI命令的函数定义略有差异。
|
|
3080
|
+
|
|
3081
|
+
其他系统:
|
|
3082
|
+
|
|
3083
|
+
```c
|
|
3084
|
+
/* define callback of the cmd_xmit_cb
|
|
3085
|
+
*
|
|
3086
|
+
|
|
3087
|
+
The callback function which HCI lib will call with the return of command
|
|
3088
|
+
|
|
3089
|
+
complete packet. Vendor lib is responsible for releasing the buffer passed
|
|
3090
|
+
|
|
3091
|
+
in at the p_mem parameter by calling dealloc callout function.
|
|
3092
|
+
*/
|
|
3093
|
+
typedef void (*tINT_CMD_CBACK)(void* p_mem);
|
|
3094
|
+
typedef uint8_t (*cmd_xmit_cb)(uint16_t opcode, void* p_buf, tINT_CMD_CBACK p_cback);
|
|
3095
|
+
```
|
|
3096
|
+
|
|
3097
|
+
OHOS:
|
|
3098
|
+
|
|
3099
|
+
```c
|
|
3100
|
+
/**
|
|
3101
|
+
|
|
3102
|
+
hci command packet transmit callback
|
|
3103
|
+
|
|
3104
|
+
Vendor lib calls cmd_xmit_cb function in order to send a HCI Command
|
|
3105
|
+
|
|
3106
|
+
packet to BT Controller.
|
|
3107
|
+
*
|
|
3108
|
+
|
|
3109
|
+
The opcode parameter gives the HCI OpCode (combination of OGF and OCF) of
|
|
3110
|
+
|
|
3111
|
+
HCI Command packet. For example, opcode = 0x0c03 for the HCI_RESET command
|
|
3112
|
+
|
|
3113
|
+
packet. */
|
|
3114
|
+
|
|
3115
|
+
typedef uint8_t (*cmd_xmit_callback)(uint16_t opcode, void* p_buf);
|
|
3116
|
+
```
|
|
3117
|
+
|
|
3118
|
+
也就是说vendorlib中发送命令后,其他系统会直接调用callback通知芯片返回的消息,OHOS则是通过BT_OP_EVENT_CALLBACK操作码(参见bt_opcode_t定义)通知芯片返回的消息;vendorlib需要解析报文中的消息码确认芯片是处理的哪个消息,然后调用对应的处理函数。
|
|
3119
|
+
|
|
3120
|
+
```c
|
|
3121
|
+
void hw_process_event(HC_BT_HDR *p_buf)
|
|
3122
|
+
{
|
|
3123
|
+
uint16_t opcode;
|
|
3124
|
+
uint8_t *p = (uint8_t *)(p_buf + 1) + HCI_EVT_CMD_CMPL_OPCODE;
|
|
3125
|
+
STREAM_TO_UINT16(opcode, p);
|
|
3126
|
+
switch (opcode) {
|
|
3127
|
+
case HCI_VSC_WRITE_BD_ADDR:
|
|
3128
|
+
#if (USE_CONTROLLER_BDADDR == TRUE)
|
|
3129
|
+
case HCI_READ_LOCAL_BDADDR:
|
|
3130
|
+
#endif
|
|
3131
|
+
case HCI_READ_LOCAL_NAME:
|
|
3132
|
+
case HCI_VSC_DOWNLOAD_MINIDRV:
|
|
3133
|
+
case HCI_VSC_WRITE_FIRMWARE:
|
|
3134
|
+
case HCI_VSC_LAUNCH_RAM:
|
|
3135
|
+
case HCI_RESET:
|
|
3136
|
+
case HCI_VSC_WRITE_UART_CLOCK_SETTING:
|
|
3137
|
+
case HCI_VSC_UPDATE_BAUDRATE:
|
|
3138
|
+
hw_config_cback(p_buf);
|
|
3139
|
+
break;
|
|
3140
|
+
```
|
|
3141
|
+
|
|
3142
|
+
另外,OHOS返回的是发送消息的字节数,<=0为发送失败,和其他系统接口的返回值也不同。
|
|
3143
|
+
|
|
3144
|
+
4、 snoop日志。
|
|
3145
|
+
|
|
3146
|
+
其他系统中记录了HCI交互消息,OHOS同样有记录;OHOS系统生成文件为/data/log/bluetooth/snoop.log,通过wireshark或其它报文分析工具可以看到Host和Controller之间的交互流程,有助于问题分析。
|
|
3147
|
+
|
|
3148
|
+
## Sensor
|
|
3149
|
+
|
|
3150
|
+
基于HDF(Hardware Driver Foundation)驱动框架开发的Sensor驱动模型。
|
|
3151
|
+
|
|
3152
|
+

|
|
3153
|
+
|
|
3154
|
+
rk3568 支持accel sensor,整体的驱动框架openharmony 主线已经具备,只需要实现具体的器件驱动即可。
|
|
3155
|
+
|
|
3156
|
+
### mcx5566xa HDF驱动实现
|
|
3157
|
+
|
|
3158
|
+
RK3568平台支持加速度传感器,型号是MXC6655XA,具体配置可以查看该器件的datasheet。 移植HDF前,需要确认内核该sensor的编译使能是关闭的。
|
|
3159
|
+
|
|
3160
|
+
配置文件路径kernel/linux/config/linux-5.10/arch/arm64/configs/rk3568_standard_defconfig。
|
|
3161
|
+
|
|
3162
|
+
```c
|
|
3163
|
+
# CONFIG_GS_MXC6655XA is not set
|
|
3164
|
+
```
|
|
3165
|
+
|
|
3166
|
+
代码路径:
|
|
3167
|
+
|
|
3168
|
+
```c
|
|
3169
|
+
drivers/framework/model/sensor/driver/chipset/accel/accel_mxc6655xa.c
|
|
3170
|
+
drivers/framework/model/sensor/driver/chipset/accel/accel_mxc6655xa.h
|
|
3171
|
+
```
|
|
3172
|
+
|
|
3173
|
+
编译宏
|
|
3174
|
+
|
|
3175
|
+
```c
|
|
3176
|
+
CONFIG_DRIVERS_HDF_SENSOR_ACCEL_MXC6655XA=y
|
|
3177
|
+
```
|
|
3178
|
+
|
|
3179
|
+
Mxc6655xa 加速度计驱动入口函数实现
|
|
3180
|
+
|
|
3181
|
+
```c
|
|
3182
|
+
struct HdfDriverEntry g_accelMxc6655xaDevEntry = {
|
|
3183
|
+
.moduleVersion = 1,
|
|
3184
|
+
.moduleName = "HDF_SENSOR_ACCEL_MXC6655XA",
|
|
3185
|
+
.Bind = Mxc6655xaBindDriver,
|
|
3186
|
+
.Init = Mxc6655xaInitDriver,
|
|
3187
|
+
.Release = Mxc6655xaReleaseDriver,
|
|
3188
|
+
};
|
|
3189
|
+
|
|
3190
|
+
HDF_INIT(g_accelMxc6655xaDevEntry);
|
|
3191
|
+
```
|
|
3192
|
+
|
|
3193
|
+
接下来就是差异化适配函数。
|
|
3194
|
+
|
|
3195
|
+
```c
|
|
3196
|
+
struct AccelOpsCall {
|
|
3197
|
+
int32_t (*Init)(struct SensorCfgData *data);
|
|
3198
|
+
int32_t (*ReadData)(struct SensorCfgData *data);
|
|
3199
|
+
};
|
|
3200
|
+
```
|
|
3201
|
+
|
|
3202
|
+
获取x, y, z三轴数据接口。
|
|
3203
|
+
|
|
3204
|
+
```c
|
|
3205
|
+
int32_t ReadMxc6655xaData(struct SensorCfgData *cfg, struct SensorReportEvent *event)
|
|
3206
|
+
{
|
|
3207
|
+
int32_t ret;
|
|
3208
|
+
struct AccelData rawData = { 0, 0, 0 };
|
|
3209
|
+
static int32_t tmp[ACCEL_AXIS_NUM];
|
|
3210
|
+
|
|
3211
|
+
CHECK_NULL_PTR_RETURN_VALUE(cfg, HDF_ERR_INVALID_PARAM);
|
|
3212
|
+
CHECK_NULL_PTR_RETURN_VALUE(event, HDF_ERR_INVALID_PARAM);
|
|
3213
|
+
|
|
3214
|
+
ret = ReadMxc6655xaRawData(cfg, &rawData, &event->timestamp);
|
|
3215
|
+
if (ret != HDF_SUCCESS) {
|
|
3216
|
+
HDF_LOGE("%s: MXC6655XA read raw data failed", __func__);
|
|
3217
|
+
return HDF_FAILURE;
|
|
3218
|
+
}
|
|
3219
|
+
|
|
3220
|
+
event->sensorId = SENSOR_TAG_ACCELEROMETER;
|
|
3221
|
+
event->option = 0;
|
|
3222
|
+
event->mode = SENSOR_WORK_MODE_REALTIME;
|
|
3223
|
+
|
|
3224
|
+
rawData.x = rawData.x * MXC6655XA_ACC_SENSITIVITY_2G;
|
|
3225
|
+
rawData.y = rawData.y * MXC6655XA_ACC_SENSITIVITY_2G;
|
|
3226
|
+
rawData.z = rawData.z * MXC6655XA_ACC_SENSITIVITY_2G;
|
|
3227
|
+
|
|
3228
|
+
tmp[ACCEL_X_AXIS] = (rawData.x * SENSOR_CONVERT_UNIT) / SENSOR_CONVERT_UNIT;
|
|
3229
|
+
tmp[ACCEL_Y_AXIS] = (rawData.y * SENSOR_CONVERT_UNIT) / SENSOR_CONVERT_UNIT;
|
|
3230
|
+
tmp[ACCEL_Z_AXIS] = (rawData.z * SENSOR_CONVERT_UNIT) / SENSOR_CONVERT_UNIT;
|
|
3231
|
+
|
|
3232
|
+
ret = SensorRawDataToRemapData(cfg->direction, tmp, sizeof(tmp) / sizeof(tmp[0]));
|
|
3233
|
+
if (ret != HDF_SUCCESS) {
|
|
3234
|
+
HDF_LOGE("%s: MXC6655XA convert raw data failed", __func__);
|
|
3235
|
+
return HDF_FAILURE;
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
event->dataLen = sizeof(tmp);
|
|
3239
|
+
event->data = (uint8_t *)&tmp;
|
|
3240
|
+
|
|
3241
|
+
return ret;
|
|
3242
|
+
}
|
|
3243
|
+
```
|
|
3244
|
+
|
|
3245
|
+
初始化。
|
|
3246
|
+
|
|
3247
|
+
```c
|
|
3248
|
+
static int32_t InitMxc6655xa(struct SensorCfgData *data)
|
|
3249
|
+
{
|
|
3250
|
+
int32_t ret;
|
|
3251
|
+
|
|
3252
|
+
CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM);
|
|
3253
|
+
ret = SetSensorRegCfgArray(&data->busCfg, data->regCfgGroup[SENSOR_INIT_GROUP]);
|
|
3254
|
+
if (ret != HDF_SUCCESS) {
|
|
3255
|
+
HDF_LOGE("%s: MXC6655XA sensor init config failed", __func__);
|
|
3256
|
+
return HDF_FAILURE;
|
|
3257
|
+
}
|
|
3258
|
+
return HDF_SUCCESS;
|
|
3259
|
+
}
|
|
3260
|
+
```
|
|
3261
|
+
|
|
3262
|
+
### hcs配置
|
|
3263
|
+
|
|
3264
|
+
Mxc6655xa accel sensor 驱动HCS配置。
|
|
3265
|
+
|
|
3266
|
+
```c
|
|
3267
|
+
device_sensor_mxc6655xa :: device {
|
|
3268
|
+
device0 :: deviceNode {
|
|
3269
|
+
policy = 1;
|
|
3270
|
+
priority = 120;
|
|
3271
|
+
preload = 0;
|
|
3272
|
+
permission = 0664;
|
|
3273
|
+
moduleName = "HDF_SENSOR_ACCEL_MXC6655XA";
|
|
3274
|
+
serviceName = "hdf_accel_mxc6655xa";
|
|
3275
|
+
deviceMatchAttr = "hdf_sensor_accel_mxc6655xa_driver";
|
|
3276
|
+
}
|
|
3277
|
+
}
|
|
3278
|
+
```
|
|
3279
|
+
|
|
3280
|
+
Mxc6655xa accel sensor 寄存器组配置信息。
|
|
3281
|
+
|
|
3282
|
+
```c
|
|
3283
|
+
#include "../sensor_common.hcs"
|
|
3284
|
+
root {
|
|
3285
|
+
accel_mxc6655xa_chip_config : sensorConfig {
|
|
3286
|
+
match_attr = "hdf_sensor_accel_mxc6655xa_driver";
|
|
3287
|
+
sensorInfo :: sensorDeviceInfo {
|
|
3288
|
+
sensorName = "accelerometer";
|
|
3289
|
+
vendorName = "memsi_mxc6655xa"; // max string length is 16 bytes.
|
|
3290
|
+
sensorTypeId = 1; // enum SensorTypeTag.
|
|
3291
|
+
sensorId = 1; // user define sensor id.
|
|
3292
|
+
power = 230;
|
|
3293
|
+
}
|
|
3294
|
+
sensorBusConfig :: sensorBusInfo {
|
|
3295
|
+
busType = 0; // 0:i2c 1:spi.
|
|
3296
|
+
busNum = 5;
|
|
3297
|
+
busAddr = 0x15;
|
|
3298
|
+
regWidth = 1; // 1byte.
|
|
3299
|
+
}
|
|
3300
|
+
sensorIdAttr :: sensorIdInfo {
|
|
3301
|
+
chipName = "mxc6655xa";
|
|
3302
|
+
chipIdRegister = 0x0f;
|
|
3303
|
+
chipIdValue = 0x05;
|
|
3304
|
+
}
|
|
3305
|
+
sensorDirection {
|
|
3306
|
+
direction = 5; // chip direction range of value:0-7.
|
|
3307
|
+
/* <sign> 1:negative 0:positive
|
|
3308
|
+
<map> 0:AXIS_X 1:AXIS_Y 2:AXIS_Z
|
|
3309
|
+
*/
|
|
3310
|
+
/* sign[AXIS_X], sign[AXIS_Y], sign[AXIS_Z], map[AXIS_X], map[AXIS_Y], map[AXIS_Z] */
|
|
3311
|
+
convert = [
|
|
3312
|
+
0, 0, 0, 0, 1, 2,
|
|
3313
|
+
1, 0, 0, 1, 0, 2,
|
|
3314
|
+
0, 0, 1, 0, 1, 2,
|
|
3315
|
+
0, 1, 0, 1, 0, 2,
|
|
3316
|
+
1, 0, 1, 0, 1, 2,
|
|
3317
|
+
0, 0, 1, 1, 0, 2,
|
|
3318
|
+
0, 1, 1, 0, 1, 2,
|
|
3319
|
+
1, 1, 1, 1, 0, 2
|
|
3320
|
+
];
|
|
3321
|
+
}
|
|
3322
|
+
sensorRegConfig {
|
|
3323
|
+
/* regAddr: register address
|
|
3324
|
+
value: config register value
|
|
3325
|
+
len: size of value
|
|
3326
|
+
mask: mask of value
|
|
3327
|
+
delay: config register delay time (ms)
|
|
3328
|
+
opsType: enum SensorOpsType 0-none 1-read 2-write 3-read_check 4-update_bit
|
|
3329
|
+
calType: enum SensorBitCalType 0-none 1-set 2-revert 3-xor 4-left shift 5-right shift
|
|
3330
|
+
shiftNum: shift bits
|
|
3331
|
+
debug: 0-no debug 1-debug
|
|
3332
|
+
save: 0-no save 1-save
|
|
3333
|
+
*/
|
|
3334
|
+
/* regAddr, value, mask, len, delay, opsType, calType, shiftNum, debug, save */
|
|
3335
|
+
initSeqConfig = [
|
|
3336
|
+
0x7e, 0xb6, 0xff, 1, 5, 2, 0, 0, 0, 0,
|
|
3337
|
+
0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0
|
|
3338
|
+
];
|
|
3339
|
+
enableSeqConfig = [
|
|
3340
|
+
0x7e, 0x11, 0xff, 1, 5, 2, 0, 0, 0, 0,
|
|
3341
|
+
0x41, 0x03, 0xff, 1, 0, 2, 0, 0, 0, 0,
|
|
3342
|
+
0x40, 0x08, 0xff, 1, 0, 2, 0, 0, 0, 0
|
|
3343
|
+
];
|
|
3344
|
+
disableSeqConfig = [
|
|
3345
|
+
0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0
|
|
3346
|
+
];
|
|
3347
|
+
}
|
|
3348
|
+
}
|
|
3349
|
+
}
|
|
3350
|
+
```
|
|
3351
|
+
|
|
3352
|
+
### 测试
|
|
3353
|
+
|
|
3354
|
+
UT测试可以获取到sensor的三轴数据。
|
|
3355
|
+
|
|
3356
|
+
测试代码路径。
|
|
3357
|
+
|
|
3358
|
+
```c
|
|
3359
|
+
drivers/peripheral/sensor/test/unittest/common/hdf_sensor_test.cpp
|
|
3360
|
+
```
|
|
3361
|
+
|
|
3362
|
+
编译UT代码命令:
|
|
3363
|
+
|
|
3364
|
+
```c
|
|
3365
|
+
./build.sh --product-name rk3568 --build-target hdf_test_sensor
|
|
3366
|
+
```
|
|
3367
|
+
|
|
3368
|
+
将hdf_test_sensor.bin push到system/bin目录,添加执行权限,执行
|
|
3369
|
+
|
|
3370
|
+
有如下结果代表sensor 测试成功。
|
|
3371
|
+
|
|
3372
|
+
```c
|
|
3373
|
+
SensorTestDataCallback enter
|
|
3374
|
+
sensor id :[1], data[1]: 0.001877
|
|
3375
|
+
sensor id :[1], data[2]: 0.160823
|
|
3376
|
+
sensor id :[1], data[3]: 0.046122
|
|
3377
|
+
```
|
|
3378
|
+
|
|
3379
|
+
## Vibrator
|
|
3380
|
+
|
|
3381
|
+
### vibrator 模型
|
|
3382
|
+
|
|
3383
|
+
Vibrator驱动模型主要包含Vibrator(传感器)相关的HDI接口与实现,提供Vibrator HDI(Hardware Driver Interface)能力接口,支持静态HCS配置的时间序列和动态配置持续时间两种振动效果。调用StartOnce接口动态配置持续振动时间;调用StartEffect接口启动静态配置的振动效果。
|
|
3384
|
+
|
|
3385
|
+
**图 1** Vibrator驱动模型图
|
|
3386
|
+
|
|
3387
|
+

|
|
3388
|
+
|
|
3389
|
+
rk3568 支持线性马达,整体的驱动框架openharmony 主线已经具备,只需要实现具体的器件驱动即可。
|
|
3390
|
+
|
|
3391
|
+
### HDF驱动实现
|
|
3392
|
+
|
|
3393
|
+
代码路径:
|
|
3394
|
+
|
|
3395
|
+
```c
|
|
3396
|
+
drivers/framework/model/misc/vibrator/driver/chipset/vibrator_linear_driver.c
|
|
3397
|
+
```
|
|
3398
|
+
|
|
3399
|
+
linear Vibrator加速度计驱动入口函数实现
|
|
3400
|
+
|
|
3401
|
+
```c
|
|
3402
|
+
struct HdfDriverEntry g_linearVibratorDriverEntry = {
|
|
3403
|
+
.moduleVersion = 1,
|
|
3404
|
+
.moduleName = "HDF_LINEAR_VIBRATOR",
|
|
3405
|
+
.Bind = BindLinearVibratorDriver,
|
|
3406
|
+
.Init = InitLinearVibratorDriver,
|
|
3407
|
+
.Release = ReleaseLinearVibratorDriver,
|
|
3408
|
+
};
|
|
3409
|
+
|
|
3410
|
+
HDF_INIT(g_linearVibratorDriverEntry);
|
|
3411
|
+
```
|
|
3412
|
+
|
|
3413
|
+
### hcs配置
|
|
3414
|
+
|
|
3415
|
+
驱动hcs配置。
|
|
3416
|
+
|
|
3417
|
+
```c
|
|
3418
|
+
vibrator :: host {
|
|
3419
|
+
hostName = "vibrator_host";
|
|
3420
|
+
device_vibrator :: device {
|
|
3421
|
+
device0 :: deviceNode {
|
|
3422
|
+
policy = 2;
|
|
3423
|
+
priority = 100;
|
|
3424
|
+
preload = 0;
|
|
3425
|
+
permission = 0664;
|
|
3426
|
+
moduleName = "HDF_VIBRATOR";
|
|
3427
|
+
serviceName = "hdf_misc_vibrator";
|
|
3428
|
+
deviceMatchAttr = "hdf_vibrator_driver";
|
|
3429
|
+
}
|
|
3430
|
+
}
|
|
3431
|
+
device_linear_vibrator :: device {
|
|
3432
|
+
device0 :: deviceNode {
|
|
3433
|
+
policy = 1;
|
|
3434
|
+
priority = 105;
|
|
3435
|
+
preload = 0;
|
|
3436
|
+
permission = 0664;
|
|
3437
|
+
moduleName = "HDF_LINEAR_VIBRATOR";
|
|
3438
|
+
serviceName = "hdf_misc_linear_vibrator";
|
|
3439
|
+
deviceMatchAttr = "hdf_linear_vibrator_driver";
|
|
3440
|
+
}
|
|
3441
|
+
}
|
|
3442
|
+
}
|
|
3443
|
+
```
|
|
3444
|
+
|
|
3445
|
+
线性马达器件hcs配置。
|
|
3446
|
+
|
|
3447
|
+
```c
|
|
3448
|
+
root {
|
|
3449
|
+
linearVibratorConfig {
|
|
3450
|
+
boardConfig {
|
|
3451
|
+
match_attr = "hdf_linear_vibrator_driver";
|
|
3452
|
+
vibratorChipConfig {
|
|
3453
|
+
busType = 1; // 0:i2c 1:gpio.
|
|
3454
|
+
gpioNum = 154;
|
|
3455
|
+
startReg = 0;
|
|
3456
|
+
stopReg = 0;
|
|
3457
|
+
startMask = 0;
|
|
3458
|
+
}
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3461
|
+
}
|
|
3462
|
+
```
|
|
3463
|
+
|
|
3464
|
+
### UT测试
|
|
3465
|
+
|
|
3466
|
+
测试代码路径。
|
|
3467
|
+
|
|
3468
|
+
```c
|
|
3469
|
+
drivers/peripheral/misc/vibrator/test/unittest/common/hdf_vibrator_test.cpp
|
|
3470
|
+
```
|
|
3471
|
+
|
|
3472
|
+
编译UT代码命令。
|
|
3473
|
+
|
|
3474
|
+
```c
|
|
3475
|
+
./build.sh --product-name rk3568 --build-target hdf_test_vibrator
|
|
3476
|
+
```
|
|
3477
|
+
|
|
3478
|
+
将hdf_test_vibrator.bin push到system/bin目录,添加执行权限,执行
|
|
3479
|
+
|
|
3480
|
+
```
|
|
3481
|
+
[ RUN ] HdfVibratorTest.CheckVibratorInstanceIsEmpty
|
|
3482
|
+
[ OK ] HdfVibratorTest.CheckVibratorInstanceIsEmpty (0 ms)
|
|
3483
|
+
[ RUN ] HdfVibratorTest.PerformOneShotVibratorDuration001
|
|
3484
|
+
[ OK ] HdfVibratorTest.PerformOneShotVibratorDuration001 (2001 ms)
|
|
3485
|
+
[ RUN ] HdfVibratorTest.ExecuteVibratorEffect001
|
|
3486
|
+
[ OK ] HdfVibratorTest.ExecuteVibratorEffect001 (5001 ms)
|
|
3487
|
+
```
|
|
3488
|
+
|