diff --git a/Cargo.lock b/Cargo.lock index 4b266420..f44e5738 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -169,6 +169,18 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "bitflags" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32866f4d103c4e438b1db1158aa1b1a80ee078e5d77a59a2f906fd62a577389c" + +[[package]] +name = "bitflags" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3" + [[package]] name = "bitflags" version = "1.2.1" @@ -261,6 +273,15 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b" +[[package]] +name = "cast" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a" +dependencies = [ + "rustc_version 0.4.0", +] + [[package]] name = "cc" version = "1.0.69" @@ -319,7 +340,7 @@ checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.2.1", "strsim", "textwrap", "unicode-width", @@ -332,7 +353,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "bitflags", + "bitflags 1.2.1", ] [[package]] @@ -540,7 +561,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf41c59b22b5e3ec0ea55c7847e5f358d340f3a8d6d53a5cf4f1564967f96487" dependencies = [ - "bitflags", + "bitflags 1.2.1", "proc-macro2 0.4.30", "quote 0.6.13", "syn 0.15.44", @@ -582,6 +603,26 @@ version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +[[package]] +name = "embedded-graphics" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e7ee289ac88cbeea6f749cd72c6eb4cdeb801f4ea26795aace97b9776a2db2" +dependencies = [ + "tinybmp", + "tinytga", +] + +[[package]] +name = "embedded-hal" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36cfb62ff156596c892272f3015ef952fe1525e85261fa3a7f327bd6b384ab9" +dependencies = [ + "nb 0.1.3", + "void", +] + [[package]] name = "env_logger" version = "0.6.2" @@ -685,7 +726,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" dependencies = [ - "bitflags", + "bitflags 1.2.1", "fsevent-sys", ] @@ -720,7 +761,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" dependencies = [ - "bitflags", + "bitflags 1.2.1", "fuchsia-zircon-sys", ] @@ -868,11 +909,23 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" dependencies = [ - "bitflags", + "bitflags 1.2.1", "ignore", "walkdir", ] +[[package]] +name = "gpio-cdev" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d50743080fbae298c55f0b28dd5ea4b513c53cddeddace6cbdd31db7dda981" +dependencies = [ + "bitflags 1.2.1", + "error-chain", + "libc", + "nix 0.11.1", +] + [[package]] name = "h2" version = "0.1.26" @@ -1048,7 +1101,7 @@ dependencies = [ "itoa", "log 0.4.14", "net2", - "rustc_version", + "rustc_version 0.2.3", "time 0.1.44", "tokio", "tokio-buf", @@ -1061,6 +1114,18 @@ dependencies = [ "want 0.2.0", ] +[[package]] +name = "i2cdev" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0eb3d9b6b02dc2508ee23439170004e44344bab9d53a490eb1f64c885b5003" +dependencies = [ + "bitflags 1.2.1", + "byteorder", + "libc", + "nix 0.14.1", +] + [[package]] name = "idna" version = "0.1.5" @@ -1106,7 +1171,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" dependencies = [ - "bitflags", + "bitflags 1.2.1", "inotify-sys", "libc", ] @@ -1325,6 +1390,20 @@ dependencies = [ "serde_json", ] +[[package]] +name = "jsonrpc-ws-server" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e72d8f524c7afd11d9c71614d1f814ee1c46377869933ce42d559d6973922f79" +dependencies = [ + "jsonrpc-core 11.0.0", + "jsonrpc-server-utils", + "log 0.4.14", + "parking_lot 0.7.1", + "slab 0.4.4", + "ws", +] + [[package]] name = "kernel32-sys" version = "0.2.2" @@ -1360,7 +1439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec", - "bitflags", + "bitflags 1.2.1", "cfg-if 1.0.0", "ryu", "static_assertions", @@ -1388,6 +1467,19 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +[[package]] +name = "linux-embedded-hal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "795096c0eecb0622afb591c3e1a97b1ba046688a7689957b70b8eee9cac8fb84" +dependencies = [ + "cast", + "embedded-hal", + "i2cdev", + "spidev", + "sysfs_gpio", +] + [[package]] name = "lock_api" version = "0.1.5" @@ -1561,6 +1653,21 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nb" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f" +dependencies = [ + "nb 1.0.0", +] + +[[package]] +name = "nb" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae" + [[package]] name = "nest" version = "1.0.0" @@ -1591,13 +1698,27 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "nix" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a7bb1da2be7da3cbffda73fc681d509ffd9e665af478d2bee1907cee0bc64b2" +dependencies = [ + "bitflags 0.4.0", + "cfg-if 0.1.10", + "libc", + "rustc_version 0.1.7", + "semver 0.1.20", + "void", +] + [[package]] name = "nix" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f" dependencies = [ - "bitflags", + "bitflags 1.2.1", "bytes", "cfg-if 0.1.10", "gcc", @@ -1605,13 +1726,26 @@ dependencies = [ "void", ] +[[package]] +name = "nix" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "becb657d662f1cd2ef38c7ad480ec6b8cf9e96b27adb543e594f9cf0f2e6065c" +dependencies = [ + "bitflags 1.2.1", + "cc", + "cfg-if 0.1.10", + "libc", + "void", +] + [[package]] name = "nix" version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" dependencies = [ - "bitflags", + "bitflags 1.2.1", "cc", "cfg-if 0.1.10", "libc", @@ -1624,12 +1758,32 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" dependencies = [ - "bitflags", + "bitflags 1.2.1", "cc", "cfg-if 1.0.0", "libc", ] +[[package]] +name = "nom" +version = "4.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" +dependencies = [ + "memchr", + "version_check 0.1.5", +] + +[[package]] +name = "nom" +version = "5.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" +dependencies = [ + "memchr", + "version_check 0.9.3", +] + [[package]] name = "nom" version = "6.2.1" @@ -1649,7 +1803,7 @@ version = "4.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" dependencies = [ - "bitflags", + "bitflags 1.2.1", "filetime", "fsevent", "fsevent-sys", @@ -1735,7 +1889,7 @@ version = "0.10.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" dependencies = [ - "bitflags", + "bitflags 1.2.1", "cfg-if 1.0.0", "foreign-types", "libc", @@ -1799,7 +1953,7 @@ checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ "lock_api 0.3.4", "parking_lot_core 0.6.2", - "rustc_version", + "rustc_version 0.2.3", ] [[package]] @@ -1820,7 +1974,7 @@ checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" dependencies = [ "libc", "rand 0.6.5", - "rustc_version", + "rustc_version 0.2.3", "smallvec 0.6.14", "winapi 0.3.9", ] @@ -1835,7 +1989,7 @@ dependencies = [ "cloudabi", "libc", "redox_syscall 0.1.57", - "rustc_version", + "rustc_version 0.2.3", "smallvec 0.6.14", "winapi 0.3.9", ] @@ -1863,6 +2017,21 @@ dependencies = [ "regex", ] +[[package]] +name = "peach-buttons" +version = "0.1.3" +dependencies = [ + "crossbeam-channel", + "env_logger 0.6.2", + "gpio-cdev", + "jsonrpc-core 11.0.0", + "jsonrpc-pubsub 11.0.0", + "jsonrpc-test 11.0.0", + "jsonrpc-ws-server", + "log 0.4.14", + "snafu 0.4.4", +] + [[package]] name = "peach-config" version = "0.1.10" @@ -1977,6 +2146,25 @@ dependencies = [ "wpactrl", ] +[[package]] +name = "peach-oled" +version = "0.1.3" +dependencies = [ + "embedded-graphics", + "env_logger 0.6.2", + "jsonrpc-core 11.0.0", + "jsonrpc-http-server", + "jsonrpc-test 11.0.0", + "linux-embedded-hal", + "log 0.4.14", + "nix 0.11.1", + "serde 1.0.127", + "serde_json", + "snafu 0.4.4", + "ssd1306", + "tinybmp", +] + [[package]] name = "peach-probe" version = "0.1.2" @@ -2458,7 +2646,7 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" dependencies = [ - "bitflags", + "bitflags 1.2.1", ] [[package]] @@ -2570,13 +2758,31 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" +[[package]] +name = "rustc_version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084" +dependencies = [ + "semver 0.1.20", +] + [[package]] name = "rustc_version" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" dependencies = [ - "semver", + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.4", ] [[package]] @@ -2634,7 +2840,7 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" dependencies = [ - "bitflags", + "bitflags 1.2.1", "core-foundation", "core-foundation-sys", "libc", @@ -2651,6 +2857,12 @@ dependencies = [ "libc", ] +[[package]] +name = "semver" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac" + [[package]] name = "semver" version = "0.9.0" @@ -2660,6 +2872,12 @@ dependencies = [ "semver-parser", ] +[[package]] +name = "semver" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" + [[package]] name = "semver-parser" version = "0.7.0" @@ -2869,6 +3087,27 @@ dependencies = [ "syn 1.0.74", ] +[[package]] +name = "spidev" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ba01d3ef92a37e898fecac76cd3e1b33c999395e2d70787608d9678c4293e04" +dependencies = [ + "bitflags 0.3.3", + "libc", + "nix 0.6.0", +] + +[[package]] +name = "ssd1306" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d818022001ebca8cec28b230700660a3f6a027123c8193c5e76e9764d087f3" +dependencies = [ + "embedded-graphics", + "embedded-hal", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -2966,6 +3205,15 @@ dependencies = [ "unicode-xid 0.2.2", ] +[[package]] +name = "sysfs_gpio" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24961a55846623d8e4f6cec38718945116fed8d6970336a7110710a07aa9b5d1" +dependencies = [ + "nix 0.14.1", +] + [[package]] name = "systemstat" version = "0.1.8" @@ -2976,7 +3224,7 @@ dependencies = [ "chrono", "lazy_static", "libc", - "nom", + "nom 6.2.1", "time 0.1.44", "winapi 0.3.9", ] @@ -3107,6 +3355,24 @@ dependencies = [ "libc", ] +[[package]] +name = "tinybmp" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d12b7f8b271567d6d072c49dee16b22271aabfc473e2066e3353e5af0f5230" +dependencies = [ + "nom 5.1.2", +] + +[[package]] +name = "tinytga" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc9485052c1f4b541d888f1d564dd9957671e0c21da9bca0c9824c1123e03f07" +dependencies = [ + "nom 4.2.3", +] + [[package]] name = "tinyvec" version = "1.3.1" @@ -3711,7 +3977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "403f3fd505ff930da84156389639932955fb09705b3dccd1a3d60c8e7ff62776" dependencies = [ "base64 0.10.1", - "bitflags", + "bitflags 1.2.1", "byteorder", "bytes", "futures", diff --git a/Cargo.toml b/Cargo.toml index cd17e5e9..dd1560ba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,8 @@ [workspace] members = [ + "peach-buttons", + "peach-oled", "peach-lib", "peach-config", "peach-network",