Browse Source

Merge pull request #2314 from kylemanna/python2

Tools: Update python files to work with python3
sbg
Lorenz Meier 10 years ago
parent
commit
c06d4032f4
  1. 75
      Tools/generate_listener.py
  2. 29
      Tools/posix_apps.py

75
Tools/generate_listener.py

@ -38,8 +38,7 @@ for index,m in enumerate(raw_messages): @@ -38,8 +38,7 @@ for index,m in enumerate(raw_messages):
num_messages = len(messages);
print
print """
print("""
/****************************************************************************
*
@ -93,12 +92,12 @@ 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[]) { @@ -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("}")

29
Tools/posix_apps.py

@ -39,8 +39,7 @@ apps = [] @@ -39,8 +39,7 @@ apps = []
for f in builtins:
apps.append(f.split(".")[-1].split("_main")[0])
print
print """
print("""
#include <string>
#include <map>
@ -54,11 +53,11 @@ using namespace std; @@ -54,11 +53,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[]);
@ -72,16 +71,16 @@ static map<string,px4_main_t> app_map(void); @@ -72,16 +71,16 @@ 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["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 """
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("""
return apps;
}
@ -122,5 +121,5 @@ static int list_files_main(int argc, char *argv[]) @@ -122,5 +121,5 @@ static int list_files_main(int argc, char *argv[])
px4_show_files();
return 0;
}
"""
""")

Loading…
Cancel
Save