Permalink
Browse files

telican Option '--pingonce' eingefügt. Damit hcan-discover schneller …

…ausgeführt wird werden kann
  • Loading branch information...
RealMerlin committed Nov 29, 2018
1 parent 5a8a448 commit 15046625a9bd2d3e2bcd914008577f69d2d307da
Showing with 32 additions and 1 deletion.
  1. +31 −0 telican/main.cc
  2. +1 −1 tools/hcan-discover
@@ -135,6 +135,7 @@ void run_timed_mode(const po::variables_map &map)
--dump
--ping
--floodping
--pingonce
--connect
--control // Default, wenn nichts angegeben ist
@@ -258,6 +259,34 @@ void handle_given_options (const po::parsed_options &options,
exit(0);
}
if (map.count("pingonce"))
{
// bei ping muss die Zeit gemessen werden; hier keinen Polite
// Mode aktivieren!
hcan::frame::polite_mode = false;
// setup the destination address of our peer board
uint16_t dst = map["pingonce"].as<uint16_t>();
// 0 bedeutet: bei hcanaddressd eine Adresse reservieren
uint16_t src = 0;
hcan::dynaddress dynsrc(hcand_ip);
if (map.count("src"))
src = map["src"].as<uint16_t>();
else
{
dynsrc.allocate();
src = dynsrc();
}
hcan::transport_connection con(hcand_ip);
con.ping_once(src, dst);
exit(0);
}
if (map.count("connect"))
{
// Ueberpruefen, ob keine inkompatiblen Modi angegeben wurden
@@ -446,6 +475,8 @@ int main (int argc, char *argv[])
"sends ping frames to the given destination")
("floodping,P", po::value<uint16_t>(),
"sends flood pings to the given destination")
("pingonce", po::value<uint16_t>(),
"sends one ping to the given destination")
("connect,c", po::value<uint16_t>(), "connect to given destination")
("ignore-type", "ignore the remote type if device does not answer")
("arch", po::value<string>(), "set arch: [atmega328p|atmega32|atmega644p] ")
@@ -9,7 +9,7 @@ POLITE_TIME=40
pid=$!
sleep 1
telican -s $addr -p 36 > /dev/null 2>&1
telican -s $addr --pingonce 36 > /dev/null 2>&1
sleep 0.5
kill -HUP $pid
wait $pid

0 comments on commit 1504662

Please sign in to comment.