Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Bug report
description: Report a reproducible defect in dart_modem.
title: "[Bug]: "
labels: [bug]
body:
- type: textarea
id: description
attributes:
label: What happened?
description: Describe the actual and expected behavior.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Minimal reproduction
description: Include code, modem configuration, and PCM conditions needed to reproduce it.
render: dart
validations:
required: true
- type: input
id: dart-version
attributes:
label: Dart version
placeholder: "Dart 3.x"
validations:
required: true
- type: dropdown
id: runtime
attributes:
label: Runtime
options:
- Dart VM
- Flutter
- Server-side Dart
- Web / WASM
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I searched existing issues for duplicates.
required: true

6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
blank_issues_enabled: false
contact_links:
- name: Security report
url: https://github.com/bchainhub/dart_modem/security/advisories/new
about: Report vulnerabilities privately instead of opening a public issue.

34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Feature request
description: Suggest a focused improvement or protocol extension.
title: "[Feature]: "
labels: [enhancement]
body:
- type: textarea
id: problem
attributes:
label: Problem or use case
description: Explain the need and who benefits from it.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: Describe the API, protocol, or behavior you would like.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Describe workarounds or alternate designs.
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I searched existing issues for similar requests.
required: true

21 changes: 21 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Dart CI

on:
push:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- run: dart pub get
- run: dart format --output=none --set-exit-if-changed .
- run: dart analyze --fatal-infos
- run: dart test

12 changes: 12 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Publish to pub.dev

on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"

jobs:
publish:
permissions:
id-token: write
uses: dart-lang/setup-dart/.github/workflows/publish.yml@v1
42 changes: 42 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Dart and pub
.dart_tool/
.packages
pubspec.lock
pubspec_overrides.yaml

# Generated output
build/
coverage/
doc/api/
*.dill
*.js.deps
*.js.map
*.wasm
*.wasm.map

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*
.Spotlight-V100
.Trashes

# Editors and IDEs
.idea/
*.iml
.vscode/
*.code-workspace
*.swp
*.swo
*~

# Local environment and logs
.env
.env.*
!.env.example
*.log

# Test and coverage tooling
.test_coverage.dart
lcov.info
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changelog

## 0.1.0

- Initial release with a pure Dart continuous-phase BFSK encoder.
- Add incremental Goertzel decoder, framing, CRC-32, and streaming APIs.
- Add audible 1200-baud and near-ultrasonic BFSK presets.
- Make the 1200-baud V.23 tone pair the phone-oriented default and retain the
original channel as `Bfsk.poorQuality()` (`Bfsk.robust()` remains an alias).
- Add the CRC-protected READY control frame, padded and repeating encoders,
duplicate-aware streaming detection, and a pure-Dart wait-state helper.
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
CORE License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"),
to to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

All distribution of the Covered Software in Source Code Form, including any
Modifications and/or Contributions must be disclosed and publicly available.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY CLAIM, DAMAGES OR
OTHER LIABILITIES, WHETHER IN AN ACTION OF A CONTRACT, TORT, OR OTHERWISE,
ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE, OR
OTHER DEALINGS IN THE SOFTWARE.

Loading
Loading