Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
Igate
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CATS
Igate
Commits
3edcd472
Commit
3edcd472
authored
1 year ago
by
Stephen D
Browse files
Options
Downloads
Patches
Plain Diff
add enable_tx parameter
parent
fdbf0a80
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#4631
passed
1 year ago
Stage: test
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
Cargo.lock
+68
-71
68 additions, 71 deletions
Cargo.lock
config.example.toml
+1
-0
1 addition, 0 deletions
config.example.toml
src/config.rs
+6
-0
6 additions, 0 deletions
src/config.rs
src/main.rs
+1
-1
1 addition, 1 deletion
src/main.rs
src/radio.rs
+8
-0
8 additions, 0 deletions
src/radio.rs
with
84 additions
and
72 deletions
Cargo.lock
+
68
−
71
View file @
3edcd472
...
...
@@ -57,9 +57,9 @@ dependencies = [
[[package]]
name = "anstyle"
version = "1.0.
5
"
version = "1.0.
6
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
2faccea4cc4ab4a667ce676a
30e8
ec13922a692c99bb8f5b11f1502c72e04220
"
checksum = "
8901269c6
30
7
e8
d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
"
[[package]]
name = "anstyle-parse"
...
...
@@ -306,9 +306,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.3
3
"
version = "0.4.3
4
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9e
b"
checksum = "
5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38
b"
dependencies = [
"android-tzdata",
"iana-time-zone",
...
...
@@ -319,9 +319,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.
4.18
"
version = "4.
5.0
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c
"
checksum = "
80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f
"
dependencies = [
"clap_builder",
"clap_derive",
...
...
@@ -329,21 +329,21 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.
4.18
"
version = "4.
5.0
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4
df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7
"
checksum = "4
58bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99
"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
"strsim",
"strsim
0.11.0
",
]
[[package]]
name = "clap_derive"
version = "4.
4.7
"
version = "4.
5.0
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442
"
checksum = "
307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47
"
dependencies = [
"heck",
"proc-macro2",
...
...
@@ -353,9 +353,9 @@ dependencies = [
[[package]]
name = "clap_lex"
version = "0.
6
.0"
version = "0.
7
.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1
"
checksum = "
98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
"
[[package]]
name = "colorchoice"
...
...
@@ -430,7 +430,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
"strsim",
"strsim
0.10.0
",
"syn 2.0.48",
]
...
...
@@ -463,9 +463,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
[[package]]
name = "either"
version = "1.
9
.0"
version = "1.
10
.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
"
checksum = "
11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a
"
[[package]]
name = "embedded-hal"
...
...
@@ -610,7 +610,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http",
"indexmap 2.2.
2
",
"indexmap 2.2.
3
",
"slab",
"tokio",
"tokio-util",
...
...
@@ -662,9 +662,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
version = "0.3.
4
"
version = "0.3.
6
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f
"
checksum = "
bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd
"
[[package]]
name = "hex"
...
...
@@ -753,9 +753,9 @@ dependencies = [
[[package]]
name = "iana-time-zone"
version = "0.1.
59
"
version = "0.1.
60
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539
"
checksum = "
e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141
"
dependencies = [
"android_system_properties",
"core-foundation-sys",
...
...
@@ -793,9 +793,9 @@ dependencies = [
[[package]]
name = "indexmap"
version = "2.2.
2
"
version = "2.2.
3
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520
"
checksum = "
233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177
"
dependencies = [
"equivalent",
"hashbrown 0.14.3",
...
...
@@ -828,17 +828,17 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "js-sys"
version = "0.3.6
7
"
version = "0.3.6
8
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1
"
checksum = "
406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee
"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "labrador-ldpc"
version = "1.
1.1
"
source = "git+https://github.com/adamgreig/labrador-ldpc#
a6b1b1feb65ec3eae5bb1797f2e4798d4fcee92e
"
version = "1.
2.0
"
source = "git+https://github.com/adamgreig/labrador-ldpc#
2f92a499c3968819a21037c04714f330f95a34b2
"
[[package]]
name = "lazy_static"
...
...
@@ -884,9 +884,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "miniz_oxide"
version = "0.7.
1
"
version = "0.7.
2
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c
7"
checksum = "
9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a
7"
dependencies = [
"adler",
]
...
...
@@ -931,9 +931,9 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
name = "num-traits"
version = "0.2.1
7
"
version = "0.2.1
8
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c
"
checksum = "
da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a
"
dependencies = [
"autocfg",
]
...
...
@@ -988,7 +988,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
dependencies = [
"fixedbitset",
"indexmap 2.2.
2
",
"indexmap 2.2.
3
",
]
[[package]]
...
...
@@ -1176,15 +1176,6 @@ dependencies = [
"getrandom",
]
[[package]]
name = "redox_syscall"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
"bitflags 1.3.2",
]
[[package]]
name = "regex"
version = "1.10.3"
...
...
@@ -1217,7 +1208,7 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "rf4463"
version = "0.1.0"
source = "git+https://gitlab.scd31.com/stephen/rf4463-lib#
e6ef9a2fd2c64bff5ea7c1716dcc21943add0c2d
"
source = "git+https://gitlab.scd31.com/stephen/rf4463-lib#
44b1ec1a15aab230388a8da3a313cbaa21a849e7
"
dependencies = [
"embedded-hal 0.2.7",
]
...
...
@@ -1409,16 +1400,17 @@ dependencies = [
[[package]]
name = "serde_with"
version = "3.6.
0
"
version = "3.6.
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1
b0ed1662c5a68664f45b76d18deb0e234aff37207086803165c961eb695e981
"
checksum = "1
5d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270
"
dependencies = [
"base64",
"chrono",
"hex",
"indexmap 1.9.3",
"indexmap 2.2.
2
",
"indexmap 2.2.
3
",
"serde",
"serde_derive",
"serde_json",
"serde_with_macros",
"time",
...
...
@@ -1426,9 +1418,9 @@ dependencies = [
[[package]]
name = "serde_with_macros"
version = "3.6.
0
"
version = "3.6.
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
568577ff0ef47b879f736cd66740e022f3672788cdf002a05a4e609ea5a6fb15
"
checksum = "
865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d
"
dependencies = [
"darling",
"proc-macro2",
...
...
@@ -1498,6 +1490,12 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strsim"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
[[package]]
name = "syn"
version = "1.0.109"
...
...
@@ -1534,22 +1532,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
version = "3.
9
.0"
version = "3.
10
.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa
"
checksum = "
a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67
"
dependencies = [
"cfg-if",
"fastrand",
"redox_syscall",
"rustix",
"windows-sys 0.52.0",
]
[[package]]
name = "time"
version = "0.3.3
2
"
version = "0.3.3
4
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd
"
checksum = "
c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749
"
dependencies = [
"deranged",
"itoa",
...
...
@@ -1578,9 +1575,9 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.3
5.1
"
version = "1.3
6.0
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104
"
checksum = "
61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931
"
dependencies = [
"backtrace",
"bytes",
...
...
@@ -1651,9 +1648,9 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.
9
"
version = "0.8.
10
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325
"
checksum = "
9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290
"
dependencies = [
"serde",
"serde_spanned",
...
...
@@ -1672,11 +1669,11 @@ dependencies = [
[[package]]
name = "toml_edit"
version = "0.2
1.1
"
version = "0.2
2.5
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1
"
checksum = "
99e68c159e8f5ba8a28c4eb7b0c0c190d77bb479047ca713270048145a9ad28a
"
dependencies = [
"indexmap 2.2.
2
",
"indexmap 2.2.
3
",
"serde",
"serde_spanned",
"toml_datetime",
...
...
@@ -1846,9 +1843,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.9
0
"
version = "0.2.9
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406
"
checksum = "
c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f
"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
...
...
@@ -1856,9 +1853,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.9
0
"
version = "0.2.9
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
fcdc9
35b6
3408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd
"
checksum = "
c9e7e1900c
35
2
b6
09c8488ad12639a311045f40a35491fb69ba8c12f758af70b
"
dependencies = [
"bumpalo",
"log",
...
...
@@ -1871,9 +1868,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.9
0
"
version = "0.2.9
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999
"
checksum = "
b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed
"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
...
...
@@ -1881,9 +1878,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.9
0
"
version = "0.2.9
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7
"
checksum = "
642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66
"
dependencies = [
"proc-macro2",
"quote",
...
...
@@ -1894,9 +1891,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.9
0
"
version = "0.2.9
1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4
d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b
"
checksum = "4
f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838
"
[[package]]
name = "which"
...
...
@@ -2053,9 +2050,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winnow"
version = "0.
5.36
"
version = "0.
6.1
"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "
818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249
"
checksum = "
d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401
"
dependencies = [
"memchr",
]
...
...
This diff is collapsed.
Click to expand it.
config.example.toml
+
1
−
0
View file @
3edcd472
...
...
@@ -2,6 +2,7 @@ callsign = "CHANGEME"
ssid
=
0
icon
=
0
frequency
=
430_500_000
# The standard CATS frequency
enable_tx
=
true
# If false, will be an RX-only I-Gate
[felinet]
address
=
"https://felinet.cats.radio"
...
...
This diff is collapsed.
Click to expand it.
src/config.rs
+
6
−
0
View file @
3edcd472
...
...
@@ -12,6 +12,10 @@ const fn default_frequency() -> u32 {
DEFAULT_FREQUENCY
}
const
fn
default_enable_tx
()
->
bool
{
true
}
#[derive(Deserialize,
Clone)]
pub
struct
FelinetConfig
{
pub
address
:
String
,
...
...
@@ -41,6 +45,8 @@ pub struct Config {
pub
icon
:
u16
,
#[serde(default
=
"default_frequency"
)]
pub
frequency
:
u32
,
#[serde(default
=
"default_enable_tx"
)]
pub
enable_tx
:
bool
,
pub
felinet
:
Option
<
FelinetConfig
>
,
pub
beacon
:
BeaconConfig
,
}
...
...
This diff is collapsed.
Click to expand it.
src/main.rs
+
1
−
1
View file @
3edcd472
...
...
@@ -41,7 +41,7 @@ async fn main() -> anyhow::Result<()> {
let
(
packet_tx
,
packet_receive
)
=
mpsc
::
channel
(
16
);
let
(
packet_send
,
packet_rx
)
=
mpsc
::
channel
(
16
);
let
radio
=
RadioManager
::
new
(
packet_tx
,
packet_rx
,
config
.frequency
)
let
radio
=
RadioManager
::
new
(
packet_tx
,
packet_rx
,
config
.frequency
,
config
.enable_tx
)
.expect
(
"Could not initialize radio"
);
match
cli
.xmit_test
{
...
...
This diff is collapsed.
Click to expand it.
src/radio.rs
+
8
−
0
View file @
3edcd472
...
...
@@ -19,6 +19,7 @@ pub const MAX_PACKET_LEN: usize = 8191;
pub
struct
RadioManager
{
radio
:
Rf4463
<
Spi
,
OutputPin
,
OutputPin
,
Delay
>
,
enable_tx
:
bool
,
tx
:
Sender
<
(
Vec
<
u8
>
,
f64
)
>
,
rx
:
Receiver
<
Vec
<
u8
>>
,
...
...
@@ -31,6 +32,7 @@ impl RadioManager {
tx
:
Sender
<
(
Vec
<
u8
>
,
f64
)
>
,
rx
:
Receiver
<
Vec
<
u8
>>
,
freq
:
u32
,
enable_tx
:
bool
,
)
->
anyhow
::
Result
<
Self
>
{
let
spi
=
Spi
::
new
(
Bus
::
Spi0
,
SlaveSelect
::
Ss0
,
1_000_000
,
Mode
::
Mode0
)
?
;
let
gpio
=
Gpio
::
new
()
?
;
...
...
@@ -49,6 +51,8 @@ impl RadioManager {
Ok
(
Self
{
radio
,
enable_tx
,
tx
,
rx
,
rx_buf
,
...
...
@@ -119,6 +123,10 @@ impl RadioManager {
}
async
fn
tx
(
&
mut
self
,
data
:
&
[
u8
])
->
anyhow
::
Result
<
()
>
{
if
!
self
.enable_tx
{
return
Ok
(());
}
// ensures we don't tx over a packet,
// and adds some random delay so that every node
// if offset slightly
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment