Merge branch 'bringup-m2' into bringup-m1

This commit is contained in:
Mark Charlebois 2015-06-11 20:40:35 -07:00
commit 892a4c5f0f
3 changed files with 53 additions and 55 deletions

4
.gitmodules vendored
View File

@ -4,9 +4,9 @@
[submodule "NuttX"]
path = NuttX
url = git://github.com/PX4/NuttX.git
[submodule "uavcan"]
[submodule "libuavcan"]
path = src/lib/uavcan
url = git://github.com/pavel-kirienko/uavcan.git
url = git://github.com/UAVCAN/libuavcan.git
[submodule "Tools/genmsg"]
path = Tools/genmsg
url = https://github.com/ros/genmsg.git

View File

@ -38,8 +38,7 @@ for index,m in enumerate(raw_messages):
num_messages = len(messages);
print
print """
print("""
/****************************************************************************
*
@ -93,12 +92,12 @@ print """
#include <stdint.h>
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
"""
""")
for m in messages:
print "#include <uORB/topics/%s.h>" % m
print("#include <uORB/topics/%s.h>" % m)
print """
print("""
extern "C" __EXPORT int listener_main(int argc, char *argv[]);
int listener_main(int argc, char *argv[]) {
@ -108,45 +107,45 @@ int listener_main(int argc, char *argv[]) {
printf("need at least two arguments: topic name, number of messages to print\\n");
return 1;
}
"""
print "\tuint32_t num_msgs = (uint32_t)std::stoi(argv[2],NULL,10);"
print "\tif(strncmp(argv[1],\"%s\",50)== 0) {" % messages[0]
print "\t\tsub = orb_subscribe(ORB_ID(%s));" % messages[0]
print "\t\tID = ORB_ID(%s);" % messages[0]
print "\t\tstruct %s_s container;" % messages[0]
print "\t\tmemset(&container, 0, sizeof(container));"
""")
print("\tuint32_t num_msgs = (uint32_t)std::stoi(argv[2],NULL,10);")
print("\tif(strncmp(argv[1],\"%s\",50)== 0) {" % messages[0])
print("\t\tsub = orb_subscribe(ORB_ID(%s));" % messages[0])
print("\t\tID = ORB_ID(%s);" % messages[0])
print("\t\tstruct %s_s container;" % messages[0])
print("\t\tmemset(&container, 0, sizeof(container));")
for index,m in enumerate(messages[1:]):
print "\t} else if(strncmp(argv[1],\"%s\",50) == 0) {" % m
print "\t\tsub = orb_subscribe(ORB_ID(%s));" % m
print "\t\tID = ORB_ID(%s);" % m
print "\t\tstruct %s_s container;" % m
print "\t\tmemset(&container, 0, sizeof(container));"
print "\t\tbool updated;"
print "\t\tfor(uint32_t i = 0;i<num_msgs;i++) {"
print "\t\t\torb_check(sub,&updated);"
print "\t\t\tupdated = true;"
print "\t\t\tif(updated) {"
print "\t\t\torb_copy(ID,sub,&container);"
print("\t} else if(strncmp(argv[1],\"%s\",50) == 0) {" % m)
print("\t\tsub = orb_subscribe(ORB_ID(%s));" % m)
print("\t\tID = ORB_ID(%s);" % m)
print("\t\tstruct %s_s container;" % m)
print("\t\tmemset(&container, 0, sizeof(container));")
print("\t\tbool updated;")
print("\t\tfor(uint32_t i = 0;i<num_msgs;i++) {")
print("\t\t\torb_check(sub,&updated);")
print("\t\t\tupdated = true;")
print("\t\t\tif(updated) {")
print("\t\t\torb_copy(ID,sub,&container);")
for item in message_elements[index+1]:
if item[0] == "float":
print "\t\t\tprintf(\"%s: %%f\\n \",(double)container.%s);" % (item[1], item[1])
print("\t\t\tprintf(\"%s: %%f\\n \",(double)container.%s);" % (item[1], item[1]))
elif item[0] == "float_array":
print "\t\t\tprintf(\"%s:\");" % item[1]
print "\t\t\tfor (int j=0;j<%d;j++) {" % item[2]
print "\t\t\t\tprintf(\"%%f \",(double)container.%s[j]);" % item[1]
print "\t\t\t}"
print "\t\t\tprintf(\"\\n\");"
print("\t\t\tprintf(\"%s:\");" % item[1])
print("\t\t\tfor (int j=0;j<%d;j++) {" % item[2])
print("\t\t\t\tprintf(\"%%f \",(double)container.%s[j]);" % item[1])
print("\t\t\t}")
print("\t\t\tprintf(\"\\n\");")
elif item[0] == "uint64":
print "\t\t\tprintf(\"%s: %%\" PRIu64 \"\\n \",container.%s);" % (item[1], item[1])
print("\t\t\tprintf(\"%s: %%\" PRIu64 \"\\n \",container.%s);" % (item[1], item[1]))
elif item[0] == "uint8":
print "\t\t\tprintf(\"%s: %%u\\n \",container.%s);" % (item[1], item[1])
print("\t\t\tprintf(\"%s: %%u\\n \",container.%s);" % (item[1], item[1]))
elif item[0] == "bool":
print "\t\t\tprintf(\"%s: %%s\\n \",container.%s ? \"True\" : \"False\");" % (item[1], item[1])
print "\t\t\t}"
print "\t\t}"
print "\t} else {"
print "\t\t printf(\" Topic did not match any known topics\\n\");"
print "\t}"
print("\t\t\tprintf(\"%s: %%s\\n \",container.%s ? \"True\" : \"False\");" % (item[1], item[1]))
print("\t\t\t}")
print("\t\t}")
print("\t} else {")
print("\t\t printf(\" Topic did not match any known topics\\n\");")
print("\t}")
print("\t return 0;")
print "}"
print("}")

View File

@ -39,8 +39,7 @@ apps = []
for f in builtins:
apps.append(f.split(".")[-1].split("_main")[0])
print
print """
print("""
#include <string>
#include <map>
@ -55,11 +54,11 @@ using namespace std;
extern void px4_show_devices(void);
extern "C" {
"""
""")
for app in apps:
print "extern int "+app+"_main(int argc, char *argv[]);"
print("extern int "+app+"_main(int argc, char *argv[]);")
print """
print("""
static int shutdown_main(int argc, char *argv[]);
static int list_tasks_main(int argc, char *argv[]);
static int list_files_main(int argc, char *argv[]);
@ -74,17 +73,17 @@ static map<string,px4_main_t> app_map(void);
static map<string,px4_main_t> app_map(void)
{
static map<string,px4_main_t> apps;
"""
""")
for app in apps:
print '\tapps["'+app+'"] = '+app+'_main;'
print('\tapps["'+app+'"] = '+app+'_main;')
print '\tapps["shutdown"] = shutdown_main;'
print '\tapps["list_tasks"] = list_tasks_main;'
print '\tapps["list_files"] = list_files_main;'
print '\tapps["list_devices"] = list_devices_main;'
print '\tapps["list_topics"] = list_topics_main;'
print '\tapps["sleep"] = sleep_main;'
print """
print('\tapps["shutdown"] = shutdown_main;')
print('\tapps["list_tasks"] = list_tasks_main;')
print('\tapps["list_files"] = list_files_main;')
print('\tapps["list_devices"] = list_devices_main;')
print('\tapps["list_topics"] = list_topics_main;')
print('\tapps["sleep"] = sleep_main;'
print("""
return apps;
}
@ -134,5 +133,5 @@ static int sleep_main(int argc, char *argv[])
sleep(atoi(argv[1]));
return 0;
}
"""
""")