profile
viewpoint
Tom Burdick bfrog Chicago, IL https://electromatic.us Duct tape is the best tape.

bfrog/hottub 41

Simple, Fast, Permanent Erlang Worker Pool

bfrog/flaken 9

Configurable bitwidth snowflake id generator, encoder, decoder for Rust

bfrog/bf_auth 4

Riak backed erlang library for user accounts, roles, and sessions

bfrog/cql-protocol 4

Native rust cassandra protocol message serializer/deserializer

bfrog/erlapp 4

Erlang application template

bfrog/bank_pgsql 2

Bank PostgreSQL Client

bfrog/bf_riakc 2

Riak Protocol Buffers Connection Pool For Erlang

bfrog/gtfs 2

GTFS Handling Library for Rust

bfrog/dirty 1

Dirty Container for Rust

bfrog/docs.plotur.com 1

Documentation for plotur.com

push eventimxrt-rs/imxrt-async-hal

mciantyre

commit sha 072de79a9800ed92fe4e530251d188801560dc79

deploy: be400de3159e627061c7a131439e7e769201175c

view details

push time in a day

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha be400de3159e627061c7a131439e7e769201175c

Rename PeriodicTimer to PIT Internal rename

view details

push time in a day

push eventimxrt-rs/imxrt-async-hal

mciantyre

commit sha 253752542f93acf1088082bca39e29d274c28cb7

deploy: 23c7bcbcc0c22ce176703a1467603080a533fce8

view details

push time in a day

delete branch imxrt-rs/imxrt-async-hal

delete branch : gpt-channels

delete time in a day

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha 5874bbf35a09ad169011dde3f0eac4372cac94e1

Rename GeneralPurposeTimer to GPT Public API doesn't change; just an internal rename.

view details

Ian McIntyre

commit sha 6a112a8f6c764235d073d73962cab41f97f9166b

Refactor GPT to support multiple channels

view details

Ian McIntyre

commit sha 07ace472e10f50f602f1edf0a14f240be860412b

Expose multi-channel GPTs through API Closes #3

view details

Ian McIntyre

commit sha 23c7bcbcc0c22ce176703a1467603080a533fce8

Update docs Since we're generating the docs in the repo, we can now point users to the published docs, rather than duplicating them in the README. The commit simplifies the README to refer to the published docs.

view details

push time in a day

PR merged imxrt-rs/imxrt-async-hal

Add multiple GPT channels

The PR adds multiple GPT timer channels. Closes #3.

+140 -194

0 comment

11 changed files

mciantyre

pr closed time in a day

issue closedimxrt-rs/imxrt-async-hal

Utilize all GPT output compare registers

Today's GPT implementation uses a single output compare register (OCR) for implementing delays. However, a GPT peripheral has three OCRs. There's a chance that a single hardware GPT could be represented as three GPT channels, which could support three separate tasks. This would bring up the effective number of GPTs from 2 to 6.

Revise the implementation to utilize all three OCRs. Then, change the API to create three GPTs from a single ral::gpt::Instance.

closed time in a day

mciantyre

PR opened imxrt-rs/imxrt-async-hal

Add multiple GPT channels

The PR adds multiple GPT timer channels. Closes #3.

+140 -194

0 comment

11 changed files

pr created time in a day

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha 448be3d296a9834acbb068b84b871d0c270b3be1

Update docs Since we're generating the docs in the repo, we can now point users to the published docs, rather than duplicating them in the README. The commit simplifies the README to refer to the published docs.

view details

push time in a day

push eventimxrt-rs/imxrt-async-hal

mciantyre

commit sha 422ca1b06c6784edd2a6f8891e5a1bc89f35b7ff

deploy: 063fff3e1aa847ff658baa27308eb341f998edd3

view details

push time in a day

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha 063fff3e1aa847ff658baa27308eb341f998edd3

Fix CI triggering Remove staging, trying branches, which are leftovers from the teensy4 repo. Add PRs to master.

view details

Ian McIntyre

commit sha eb2b5927274922511157b0845c6e354ddb1ad521

Rename GeneralPurposeTimer to GPT Public API doesn't change; just an internal rename.

view details

Ian McIntyre

commit sha ce129e84c31da92e10958426971b4dded13693dc

Refactor GPT to support multiple channels

view details

Ian McIntyre

commit sha cc2257c0d5ec2d6da6018d1386156ed864009716

Expose multi-channel GPTs through API Closes #3

view details

push time in a day

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha 142631cd3fea6fa96e52dd75223337f6ef15d439

Run cargo intraconv to convert documentation links Remove outdated documentation. Manually fix the documentation issues noted when generating the new docs.

view details

Ian McIntyre

commit sha 063fff3e1aa847ff658baa27308eb341f998edd3

Fix CI triggering Remove staging, trying branches, which are leftovers from the teensy4 repo. Add PRs to master.

view details

push time in a day

create barnchimxrt-rs/imxrt-async-hal

branch : gpt-channels

created branch time in a day

startedadamgreig/ecpdap

started time in a day

pull request commentbytebeamio/rumqtt

Add support for websocket transport with optional TLS

I think that turned out quite elegantly! I also changed a bit of TLS config handling, and keys to prevent some possible user errors at compile-time.

MathiasKoch

comment created time in a day

fork Disasm/ecpdap

ECPDAP allows you to program ECP5 FPGAs and attached SPI flash using CMSIS-DAP probes in JTAG mode.

fork in 2 days

push eventimxrt-rs/imxrt-async-hal

mciantyre

commit sha c9a5487689a396929b20f188ff20058a3a4aca74

deploy: 78c2a8658a56b4a7b895bf077b547c4ac32581ca

view details

push time in 2 days

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha 78c2a8658a56b4a7b895bf077b547c4ac32581ca

Pin nightly toolchain for documentation generation

view details

push time in 2 days

push eventimxrt-rs/imxrt-async-hal

Ian McIntyre

commit sha bf4e5df2b8384fa74c9f32dec8b800f316d0ebd9

Refactor PIT, removing software global state Refactor the PIT driver to remove the software global state. We can track the timer state by the register changes.

view details

Ian McIntyre

commit sha 1450bcefc3ad92370943b40e76f3f2fc5160ab20

Refactor GPT, removing software global state See the previous commit for more context.

view details

push time in 2 days

created repositorystepfunc/tokio-mock

Mock and re-exports of tokio

created time in 2 days

issue commentimxrt-rs/imxrt-hal

Controller Area Network (CAN)

I've not worked with CAN before, and I haven't heard of anyone working on a Rust-based CAN driver for these processors. I'm happy to support an i.MX RT CAN driver's development, then maintain it here.

Here's a quick summary of CAN support across the i.MX RT processor families. Let me know if we see a discrepancy.

i.MX RT CAN support? CANFD support?
1010 NO NO
1015 NO NO
1020 YES NO
1050 YES NO
1060 YES YES
1064 YES YES

We could implement embedded-can, then transition to the embedded-hal equivalent traits if / when it's merged.

reneherrero

comment created time in 2 days

push eventbytebeamio/rumqtt

tekjar

commit sha f3910b46e6673ec52f41722309f7d5fa0c9c217f

Fix rumqttc tests

view details

push time in 2 days

push eventbytebeamio/rumqtt

tekjar

commit sha 433214da3717372a474e744bae3e809d03781d67

Integrate mqttbytes into client

view details

push time in 2 days

created repositoryzephyrproject-rtos/sof

Sound Open Firmware module

created time in 2 days

issue openedimxrt-rs/imxrt-hal

Controller Area Network (CAN)

Hi,

Wondering if anyone has ventured into the Controller Area Network (CAN) space?

Thanks,

created time in 2 days

push eventbytebeamio/rumqtt

tekjar

commit sha 1d5260bbcc277dc0bfc04eb2d1003309936f4a6d

Remove bytes reserve in packets Caller should pre allocate for efficiency

view details

push time in 3 days

push eventbytebeamio/rumqtt

tekjar

commit sha 6c71670e2bbc9c1fd0648a6e0fd790fefd19b067

Use merged bytes in benchmarks

view details

push time in 3 days

push eventbytebeamio/rumqtt

tekjar

commit sha f7e634692ad2819a34be7f72bd1aece62ac844ee

Merge mqtt 4 and 5

view details

push time in 3 days

issue openedgeorust/robust

incircle results in NaN result

Is this expected? Does the C version do this?

Found via https://github.com/georust/robust/pull/18

let data = [
    (
        0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000602151646108571f64,
        -517539169279288000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0f64,
    ),
    (
        0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008335571366403185f64,
        0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000569f64,
    ),
    (
        0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008309872195179385f64,
        0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008309872194912985f64,
    ),
    (
        -24214045710673702000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0f64,
        0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008309872195179618f64,
    ),
];

let pa = robust::Coord { x: data[0].0, y: data[0].1 };
let pb = robust::Coord { x: data[1].0, y: data[1].1 };
let pc = robust::Coord { x: data[2].0, y: data[2].1 };
let pd = robust::Coord { x: data[3].0, y: data[3].1 };

let result = robust::incircle(pa, pb, pc, pd);

assert!(result.is_finite());
thread '<unnamed>' panicked at 'assertion failed: result.is_finite()', fuzz_targets/incircle.rs:13:5

created time in 3 days

PR opened georust/robust

Add fuzz targets for incircle and orient2d.

Installation:

cargo install cargo-fuzz

Run:

cargo fuzz run incircle # or `cargo fuzz run orient2d`
+61 -0

0 comment

4 changed files

pr created time in 3 days

more