diff --git a/quad/src/quad_app/quad_app.c b/quad/src/quad_app/quad_app.c index 561df5b1a26cb6394d487751cab9aeef5c227b7a..a098f374ad2a782daf5faafd1812d232e5efecce 100644 --- a/quad/src/quad_app/quad_app.c +++ b/quad/src/quad_app/quad_app.c @@ -19,7 +19,7 @@ int quad_main(int (*setup_hardware)(hardware_t *hardware_struct)) { // Structures to be used throughout - modular_structs_t structs = { }; + modular_structs_t structs = { }; // Wire up hardware setup_hardware(&structs.hardware_struct); diff --git a/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo.h b/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo.h index 1f9b0fb651be858b26250012f5396fe6abe3558a..5555a4adf8d527bd30b1d2837b3884e929f001d9 100644 --- a/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo.h +++ b/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo.h @@ -29,26 +29,27 @@ #define QUAD_NUM 1 #if QUAD_NUM==0 -#define IMU_ACCX_SIGN 1 +#define IMU_ACCX_SIGN -1 #define IMU_ACCY_SIGN 1 #define IMU_ACCZ_SIGN 1 -#define IMU_GYRX_SIGN 1 +#define IMU_GYRX_SIGN -1 #define IMU_GYRY_SIGN 1 #define IMU_GYRZ_SIGN 1 -#define MOTOR_FRONTLEFT_BASEADDR XPAR_PWM_SIGNAL_OUT_3_S_AXI_BASEADDR -#define MOTOR_FRONTRIGHT_BASEADDR XPAR_PWM_SIGNAL_OUT_1_S_AXI_BASEADDR -#define MOTOR_BACKLEFT_BASEADDR XPAR_PWM_SIGNAL_OUT_2_S_AXI_BASEADDR -#define MOTOR_BACKRIGHT_BASEADDR XPAR_PWM_SIGNAL_OUT_0_S_AXI_BASEADDR -#define ACCEL_X_BIAS 0.023f -#define ACCEL_Y_BIAS 0.009f -#define ACCEL_Z_BIAS 0.0686f +#define MOTOR_FRONTLEFT_BASEADDR XPAR_PWM_SIGNAL_OUT_3_S_AXI_BASEADDR +#define MOTOR_FRONTRIGHT_BASEADDR XPAR_PWM_SIGNAL_OUT_1_S_AXI_BASEADDR +#define MOTOR_BACKLEFT_BASEADDR XPAR_PWM_SIGNAL_OUT_2_S_AXI_BASEADDR +#define MOTOR_BACKRIGHT_BASEADDR XPAR_PWM_SIGNAL_OUT_0_S_AXI_BASEADDR + +#define ACCEL_X_BIAS 0.08f +#define ACCEL_Y_BIAS -0.057f +#define ACCEL_Z_BIAS 0.0f -#define GYRO_X_BIAS 0.005f -#define GYRO_Y_BIAS -0.014f -#define GYRO_Z_BIAS 0.0534//0.0541f +#define GYRO_X_BIAS -0.006f +#define GYRO_Y_BIAS 0.0545f +#define GYRO_Z_BIAS 0.005//0.0541f #endif @@ -68,13 +69,13 @@ #define MOTOR_BACKLEFT_BASEADDR XPAR_PWM_SIGNAL_OUT_2_S_AXI_BASEADDR #define MOTOR_BACKRIGHT_BASEADDR XPAR_PWM_SIGNAL_OUT_0_S_AXI_BASEADDR -#define ACCEL_X_BIAS -0.005f -#define ACCEL_Y_BIAS 0.03f +#define ACCEL_X_BIAS -0.01f +#define ACCEL_Y_BIAS 0.041f #define ACCEL_Z_BIAS 0.0f -#define GYRO_X_BIAS -0.001f -#define GYRO_Y_BIAS -0.0135f -#define GYRO_Z_BIAS 0.035//0.0541f +#define GYRO_X_BIAS -0.024f +#define GYRO_Y_BIAS -0.013f +#define GYRO_Z_BIAS 0.02//0.0541f #endif diff --git a/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_imu.c b/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_imu.c index bf8bfeb2abce0485da4f03723be6a10b9e3a6a0b..5cf36172d7440dd44057acf6ad1c62026d0e56a8 100644 --- a/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_imu.c +++ b/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_imu.c @@ -144,6 +144,9 @@ int zybo_imu_read(struct IMUDriver *self, gam_t *gam) { raw_accel_x = sensor_raw_accel_y; raw_accel_y = -sensor_raw_accel_x; raw_accel_z = sensor_raw_accel_z; +// raw_accel_x = sensor_raw_accel_y; +// raw_accel_y = sensor_raw_accel_x; +// raw_accel_z = sensor_raw_accel_z; // put in G's gam->accel_x = IMU_ACCX_SIGN * (raw_accel_x / 4096.0) + ACCEL_X_BIAS; // 4,096 is the gain per LSB of the measurement reading based on a configuration range of +-8g @@ -159,6 +162,9 @@ int zybo_imu_read(struct IMUDriver *self, gam_t *gam) { gyro_x = sensor_gyro_y; gyro_y = -sensor_gyro_x; gyro_z = sensor_gyro_z; +// gyro_x = sensor_gyro_y; +// gyro_y = sensor_gyro_x; +// gyro_z = sensor_gyro_z; //Get the number of degrees //javey: converted to radians to following SI units diff --git a/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_lidar.c b/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_lidar.c index 8b4fe996034d0ce2a66fcd1f69530e2298fb510f..62caca7532156520b9cd8a05df605de7bd18d123 100644 --- a/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_lidar.c +++ b/quad/xsdk_workspace_vivado/real_quad/src/hw_impl_zybo_lidar.c @@ -18,7 +18,7 @@ int zybo_lidar_reset(struct LidarDriver *self, lidar_t *lidar) { int error = 0; //Device wakeup if asleep. lidarlite_write(i2c, 0x00, 0x00); - + usleep(15000); // Device Reset & Wake up with default settings error = lidarlite_write(i2c, 0x00, 0x00); if (error) return error; diff --git a/quad/xsdk_workspace_vivado/real_quad/src/main.c b/quad/xsdk_workspace_vivado/real_quad/src/main.c index ab116d90b27b5011b605f68e6f9cf322bdfda03d..0bbe1ed3cbd0be5f9a98b491e07428c1af3b9a65 100644 --- a/quad/xsdk_workspace_vivado/real_quad/src/main.c +++ b/quad/xsdk_workspace_vivado/real_quad/src/main.c @@ -49,6 +49,7 @@ int main() //test_zybo_mio7_led_and_system(); //!test_zybo_i2c(); //!test_zybo_i2c_imu(); + zybo_i2c_imu_self_test(); //!test_zybo_i2c_px4flow(); //!test_zybo_i2c_lidar(); //!test_zybo_i2c_all(); @@ -59,7 +60,6 @@ int main() return 0; #endif - usleep(2*1000000); // Run the main quad application quad_main(setup_hardware); diff --git a/quad/xsdk_workspace_vivado/system_bsp/.cproject b/quad/xsdk_workspace_vivado/system_bsp/.cproject index 8ca4d5f8b1a9d9c24f915b38f1444fd532781eb0..20bc66eca62b633b9c6459543730f5560d0c56f7 100644 --- a/quad/xsdk_workspace_vivado/system_bsp/.cproject +++ b/quad/xsdk_workspace_vivado/system_bsp/.cproject @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> <storageModule moduleId="org.eclipse.cdt.core.settings"> - <cconfiguration id="org.eclipse.cdt.core.default.config.1532584570"> - <storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.1532584570" moduleId="org.eclipse.cdt.core.settings" name="Configuration"> + <cconfiguration id="org.eclipse.cdt.core.default.config.1229250672"> + <storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="org.eclipse.cdt.core.default.config.1229250672" moduleId="org.eclipse.cdt.core.settings" name="Configuration"> <externalSettings/> <extensions/> </storageModule> @@ -10,10 +10,4 @@ </cconfiguration> </storageModule> <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> - <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/> - <storageModule moduleId="scannerConfiguration"/> - <storageModule moduleId="org.eclipse.cdt.core.pathentry"> - <pathentry kind="src" path=""/> - <pathentry kind="out" path=""/> - </storageModule> </cproject> diff --git a/quad/xsdk_workspace_vivado/system_bsp/.project b/quad/xsdk_workspace_vivado/system_bsp/.project index 55ab2caf3f47d646d65b0f04a248954f54fb928b..1773c9f5fef32c05d645b542adf3376c708cb66a 100644 --- a/quad/xsdk_workspace_vivado/system_bsp/.project +++ b/quad/xsdk_workspace_vivado/system_bsp/.project @@ -24,10 +24,6 @@ <key>org.eclipse.cdt.make.core.build.command</key> <value>make</value> </dictionary> - <dictionary> - <key>org.eclipse.cdt.make.core.build.location</key> - <value></value> - </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.build.target.auto</key> <value>all</value> diff --git a/quad/xsdk_workspace_vivado/system_bsp/.sdkproject b/quad/xsdk_workspace_vivado/system_bsp/.sdkproject index ddc03c1e87e6437c14b4ebc865dc30f39d77fc7c..dd82e57dd062516fb69638e72b1609d20aa13292 100644 --- a/quad/xsdk_workspace_vivado/system_bsp/.sdkproject +++ b/quad/xsdk_workspace_vivado/system_bsp/.sdkproject @@ -1,4 +1,4 @@ THIRPARTY=false +HW_PROJECT_REFERENCE=design_1_wrapper_hw_platform_0 PROCESSOR=ps7_cortexa9_0 -HW_PROJECT_REFERENCE=design_1_wrapper_hw_platform_1 MSS_FILE=system.mss diff --git a/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/include/xparameters.h b/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/include/xparameters.h index f1700485ebe3a0b73e3583f424872c53dc802160..7fa149261c84b349f2992182d0dcd155d3e8bdae 100644 --- a/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/include/xparameters.h +++ b/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/include/xparameters.h @@ -622,4 +622,11 @@ /******************************************************************/ +/* Xilinx FAT File System Library (XilFFs) User Settings */ +#define FILE_SYSTEM_INTERFACE_SD +#define FILE_SYSTEM_USE_MKFS +#define FILE_SYSTEM_NUM_LOGIC_VOL 2 +#define FILE_SYSTEM_USE_STRFUNC 0 +#define FILE_SYSTEM_SET_FS_RPATH 0 +#define FILE_SYSTEM_WORD_ACCESS #endif /* end of protection macro */ diff --git a/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/libsrc/standalone_v6_7/src/bspconfig.h b/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/libsrc/standalone_v6_7/src/bspconfig.h index b977241ce0281c8722d789ce6adf66e27d21a8ae..7859b0eef626654613361272366cfb818a2a0bab 100644 --- a/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/libsrc/standalone_v6_7/src/bspconfig.h +++ b/quad/xsdk_workspace_vivado/system_bsp/ps7_cortexa9_0/libsrc/standalone_v6_7/src/bspconfig.h @@ -5,7 +5,7 @@ * Version: * DO NOT EDIT. * -* Copyright (C) 2010-2018 Xilinx, Inc. All Rights Reserved.* +* Copyright (C) 2010-2019 Xilinx, Inc. All Rights Reserved.* *Permission is hereby granted, free of charge, to any person obtaining a copy *of this software and associated documentation files (the Software), to deal *in the Software without restriction, including without limitation the rights diff --git a/quad/xsdk_workspace_vivado/system_bsp/system.mss b/quad/xsdk_workspace_vivado/system_bsp/system.mss index 76803d91aa096c0a5ad8ef675de49e7682a0d508..ecb14d2adb87bf499ef16182745346911cb91be6 100644 --- a/quad/xsdk_workspace_vivado/system_bsp/system.mss +++ b/quad/xsdk_workspace_vivado/system_bsp/system.mss @@ -325,3 +325,10 @@ BEGIN DRIVER END +BEGIN LIBRARY + PARAMETER LIBRARY_NAME = xilffs + PARAMETER LIBRARY_VER = 3.9 + PARAMETER PROC_INSTANCE = ps7_cortexa9_0 +END + +