mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-22 09:33:35 +08:00
DriverFramework purge
The bulk of this change was tightly coupled and needed to be deleted in one pass. Some of the smaller changes were things that broke as a result of the initial purge and subsequently fixed by further eradicating unnecessary platform differences. Finally, I deleted any dead code I came across in the related files I touched while going through everything.
- DriverFramework (src/lib/DriverFramework submodule) completely removed
- added dspal submodule in qurt platform (was brought in via DriverFramework)
- all df wrapper drivers removed
- all boards using df wrapper drivers updated to use in tree equivalents
- unused empty arch/board.h on posix and qurt removed
- unused IOCTLs removed (pub block, priv, etc)
- Integrator delete methods only used from df wrapper drivers
- commander: sensor calibration use "NuttX version" everywhere for now
- sensors: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
- battery_status: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
- cdev cleanup conflicting typedefs and names with actual OS (pollevent_t, etc)
- load_mon and top remove from linux boards (unused)
- delete unused PX4_MAIN_FUNCTION
- delete unused getreg32 macro
- delete unused SIOCDEVPRIVATE define
- named each platform tasks consistently
- posix list_devices and list_topics removed (list_files now shows all virtual files)
This commit is contained in:
@@ -65,26 +65,20 @@ __EXPORT int config_main(int argc, char *argv[]);
|
||||
static int do_gyro(int argc, char *argv[]);
|
||||
static int do_accel(int argc, char *argv[]);
|
||||
static int do_mag(int argc, char *argv[]);
|
||||
static int do_device(int argc, char *argv[]);
|
||||
static void print_usage(void);
|
||||
|
||||
int
|
||||
config_main(int argc, char *argv[])
|
||||
{
|
||||
bool is_device_cmd = argc >= 2 && (!strcmp(argv[1], "block") || !strcmp(argv[1], "unblock"));
|
||||
|
||||
if (argc >= 3) {
|
||||
if (!is_device_cmd && !strncmp(argv[2], "/dev/gyro", 9)) {
|
||||
if (!strncmp(argv[2], "/dev/gyro", 9)) {
|
||||
return do_gyro(argc - 1, argv + 1);
|
||||
|
||||
} else if (!is_device_cmd && !strncmp(argv[2], "/dev/accel", 10)) {
|
||||
} else if (!strncmp(argv[2], "/dev/accel", 10)) {
|
||||
return do_accel(argc - 1, argv + 1);
|
||||
|
||||
} else if (!is_device_cmd && !strncmp(argv[2], "/dev/mag", 8)) {
|
||||
} else if (!strncmp(argv[2], "/dev/mag", 8)) {
|
||||
return do_mag(argc - 1, argv + 1);
|
||||
|
||||
} else {
|
||||
return do_device(argc - 1, argv + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,55 +108,6 @@ print_usage(void)
|
||||
PRINT_MODULE_USAGE_ARG("<file:dev>", "Sensor device file", false);
|
||||
}
|
||||
|
||||
static int
|
||||
do_device(int argc, char *argv[])
|
||||
{
|
||||
if (argc < 2) {
|
||||
print_usage();
|
||||
return 1;
|
||||
}
|
||||
|
||||
int fd;
|
||||
|
||||
fd = open(argv[1], 0);
|
||||
|
||||
if (fd < 0) {
|
||||
PX4_ERR("open %s failed (%i)", argv[1], errno);
|
||||
return 1;
|
||||
|
||||
} else {
|
||||
|
||||
int ret;
|
||||
|
||||
if (argc == 2 && !strcmp(argv[0], "block")) {
|
||||
|
||||
/* disable the device publications */
|
||||
ret = ioctl(fd, DEVIOCSPUBBLOCK, 1);
|
||||
|
||||
if (ret) {
|
||||
PX4_ERR("uORB publications could not be blocked");
|
||||
return 1;
|
||||
}
|
||||
|
||||
} else if (argc == 2 && !strcmp(argv[0], "unblock")) {
|
||||
|
||||
/* enable the device publications */
|
||||
ret = ioctl(fd, DEVIOCSPUBBLOCK, 0);
|
||||
|
||||
if (ret) {
|
||||
PX4_ERR("uORB publications could not be unblocked");
|
||||
return 1;
|
||||
}
|
||||
|
||||
} else {
|
||||
print_usage();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
do_gyro(int argc, char *argv[])
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user