From 6434b9de7b1184caa130d69ece482f8292733c34 Mon Sep 17 00:00:00 2001 From: Tim Mecklem Date: Sat, 21 Oct 2017 18:49:39 -0400 Subject: [PATCH] Support for larger packet transmits --- lib/.rfm69.ex.swp | Bin 20480 -> 0 bytes lib/rfm69.ex | 22 +++++++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 lib/.rfm69.ex.swp diff --git a/lib/.rfm69.ex.swp b/lib/.rfm69.ex.swp deleted file mode 100644 index 47f73f719053c61b47bda42ed2af99ae299bad44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 zcmeI3eT)=m9mj_vrM1=<&{k36(>po#+P!1%xL%L#-f=w;JtG2z(kQ{n?9Q`y)0>@H z=H*^`95HIF(9{&-AO2w)McY*Wq1sgcumNK!MuK37LVStD+C*cbf7FC(TE*}0d1iKI zmfZu=e{Aw>@?mf1dH+7Izu!ER3%kd+vio`mG<@ExX{%5E?X&;5aGUl(sA)lsSEg)U zqoBn;2F2^CTm6egLfC;g!*#w_S;uW_*79_(S{vN3&bG?y#9zI9_8PgUV5NXk;D!|l zgKE#v?GLT*?<;h6+{IR|c<6?+PzjU*N&%&SQa~x76i^B%1(X6xfw#8;L4B!q1x>gK ztN=?Q-hpopJ`nw0itkN;taFN^K1u^guzXWH%3*aa?0_MSo!7A`?qTz6m^FgDJ2JYy>&544i?p(!U{61=9*lu8U9ow994IN*_I!0M>oo@7ljsP z`=dOgFxQEbp)Lban9uix+^KL+cdJzqUYH#cVWU)>&(_SNt)m{F(A~ODkI)o+P;wuM z$Q={^Cf|%z4cq6eXM{PH%{tkq-H8eA^_sjKPOy%#uv+CFGo}s8Hp({d5Q$0VP^6hL ztU#~2o?aFa^}yB3yyDil-bj+`7HKL5N~u~^R}UsV?oYb5sq@(i=O#Bd=DL~bifGLh zco+p(&ICglOqRg{m&r1+)iQat&aSIIR2B-0rO1t%eA=q;UXL55?xQrD=Y)cmw@&@-#J>YB`jy<#lN*Ib8N| zpHD_dJUAO!Q?krBuR2f$Q=nr<$U{y7Vu)g1cFvDs*!E(=VIuVnHWksmkY^5`X;ToT zZcKtq6&5;D)o&ez4YQ=_jfOey3@OvT`n%%QkD6dPm^y~NNGm8mw4rqsuCxB7Qo4G@ zV%c&GZ?4C;9_6{#8F%L!tF-K@IMK)mnk_m>G*S$JICI(m?dmF)4~F~_hRJ>oxrknC$#OHX#@r6m;Z*M7gLC6r~378^GV^qN>U7!#{#u5MJOc%TbuFyI<-@~kh< z3ef^1#44^kZlLp8J($b0BA>+$+!P*%S(LcOO$!U6$Waew z_a+6km>ezi*B95bS(;X{JznR5sK3v8NdM%4ZgSf|JCY8P^~-D_&Cz9)YgH^7Ki8 zoe4!S&gGb+plHdmoT|$@#@U1$FpP{z%UMfXKYbEaY07H!$f#mWh`;EUtlpY=n$1PI z_M(BlZxzMA3s)5;&xMWs5-q8_j?de!i1AiOg~|2C$0Fan6qHKI0)yi{%8w(_-_Z$@ zGRQRfL9z#?xk;O~s72gt*{Y%#{$5xQFu7&S1<0ULKC%ZyArwN7vU%_1fjD&S|w0JcyP)+MsyljfGrIUR^hx<94GeW15t4%)2?q+>@p->>YsVvHr zYEj0yB$WVBlhHqea?kH!X_rD?Ae$7?zu%EL9Qdv1mMKBP56 zah?>b8P0I1L1%OjZ5-nn4znzJC<+)Hq~BOwLYtdzMOqm2NS?FVgIl%^Zs^@C4&8LX zq-I+lk2-*!gs>IHtYF6SxrP?YtYkV;knI1>uw_lyxn%!u!q=Oy>t6*gfv3UO!7QkO zwcs*r`Co%G;1nSH|2c37d>MQRaIhKN1J;0#fo0&Yu=US_AA@7yd*E4c7<>Wj26?a) zkWb(eI0+7eM?eAG4Z6V!@CNMui{L1*!63L7+zkE+d;c`}8F&%=1Uv(dfbC#C=mB|f zEBGliH~{Kk5|Abppgu|grGQdEDWDWk3Md6`Q~_y&q#bQ=Jo+#}aXcdj)cCgEdKmbu zW4C-v7C;mOZjh}!Fl?3zs?h`CC|{scI^|F*>9B(HEJ{@@4&+%94L^lHXy^9v-uU#H zE0xGsN!D}UptKk|#fezh6O)E#&KMroqYS096NSa*R8Jp{)ABg%88bSW7Tq`v_ajPd z36)B5h%nF>U?D`OR_Psm|z0-JQ zB$O$vM`jpt?R-R0Y&fK%S6z#{n~F4s<;$j|VyQPysfUHx^ zEU^fs2UhdIPPHSOLtIhntBg7=mVkyC-Fx*&jtWd#KpD1oZpS_jAp<-Co%5FC*Lfw7 z&1}4;pgi>0bHdo?GZPylJi8i++|WKsm5Di=>PQhPVlFCw;&2gtBD;M-*#DRCPWUmr zKPLO1R=M=1fK+B-~sRk?Dyxv*T5ry-tn&n z9|5nyZvPWF4GeG(xC7h*=pFwOa1QqS)8I*P2pj|+Fu)%0IZy=e2TQ zYzM>OgWxxKmwyhN1y6x8xF0MB=kX5zG&l)f0^bKufiHq8p!fZ~U + 0 -> set_mode(:sleep) {:ok, ""} end @@ -54,11 +54,11 @@ defmodule RFM69 do def _write(packet_bytes, _timeout_ms) do modes = [:enter_condition_fifo_not_empty, :exit_condition_fifo_empty, :intermediate_mode_tx] set_auto_modes(modes) - transmit(packet_bytes <> <<0x00::8>>, @fifo_size) + transmit(packet_bytes, @fifo_size) end def write_and_read(packet_bytes, timeout_ms) do - write(packet_bytes, timeout_ms, 1, 0) + write(packet_bytes, 1, 0, timeout_ms) read(timeout_ms) end @@ -74,18 +74,18 @@ defmodule RFM69 do end defp transmit(bytes, available_buffer_bytes) when byte_size(bytes) <= available_buffer_bytes do - # Logger.debug fn() -> "Transmitting remaining: #{Base.encode16(bytes)}, available_buffer_bytes: #{available_buffer_bytes}" end + Logger.debug fn() -> "Transmitting remaining: #{Base.encode16(bytes)}, available_buffer_bytes: #{available_buffer_bytes}" end _transmit(bytes) wait_for_mode(:standby) end - # defp transmit(bytes, available_buffer_bytes) do - # <> = bytes - # Logger.debug fn() -> "Transmitting initial: #{Base.encode16(transmit_now)}, available_buffer_bytes: #{available_buffer_bytes}" end - # available_buffer_bytes = _transmit(transmit_now) - # Logger.debug fn() -> "Queueing rest: #{Base.encode16(transmit_later)}, new available_buffer_bytes: #{available_buffer_bytes}" end - # transmit(transmit_later, available_buffer_bytes) - # end + defp transmit(bytes, available_buffer_bytes) do + <> = bytes + Logger.debug fn() -> "Transmitting initial: #{Base.encode16(transmit_now)}, available_buffer_bytes: #{available_buffer_bytes}" end + available_buffer_bytes = _transmit(transmit_now) + Logger.debug fn() -> "Queueing rest: #{Base.encode16(transmit_later)}, new available_buffer_bytes: #{available_buffer_bytes}" end + transmit(transmit_later, available_buffer_bytes) + end defp _transmit(bytes) do @device.write_burst(0x00, bytes)