@Andrey-Bondarev @Dong-xiaoguang
Are you guys still working?
Please can you confirm that the time stamp is being synchronised by the external PPS signal as I cannot see how it is?
Please correct me if I am wrong?
@Andrey-Bondarev @Dong-xiaoguang
Are you guys still working?
Please can you confirm that the time stamp is being synchronised by the external PPS signal as I cannot see how it is?
Please correct me if I am wrong?
@Andrey Bondarev,
I can see how ppsDetected is set in Timer5, but as far as I can tell timer5 isn't triggered by the pps input on pin 2.
Timer0 gets trigger by the input on pin 2.
My question as I can't figure it out, is how is the timestamp being synchronised by the pps input?
Many thanks,
Simon
Dong,
I am trying to work out if the pps code actually works and what it is doing, I have the IMU connected to a Ublox zed-f9p with the pps connect to pin 2 . I now can see that the interrupt is being serviced, but I can't work out in the code as bits are commented out if the timestamp is being adjusted accordingly.
Looking at in DataAcquisitionSupport.c and ONE_PPS_EXTI_IRQHandler.
Why is ppsDetected commented out?
void ONE_PPS_EXTI_IRQHandler(void)
{
OSEnterISR();
if(platformIsGpsPPSUsed()){
// ppsDetected = 1;
}
EXTI->PR = ONE_PPS_EXTI_LINE; ///< Clear the interrupt bit
OSExitISR();
}
Simon
Hi,
I have put break points on TIM2_IRQHandler and I am never seeing this code called.
I have set the the following as per the docs:
void initUserDataProcessingEngine()
{
InitUserAlgorithm(); // default implementation located in file user_algorithm.c
platformEnableGpsPps(TRUE); // Init PPS sync engine
}
What am I doing wrong?
Regards,
Simonrob
@Andrey Bondarev
Many thanks that was driving me crazy!
When trying to debug with the latest firmware I get STM32F405/src/startup_stm32f405xx.o] Error 1:
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/aceinna_imu/OpenIMU300.html
PLATFORM: Aceinna IMU 1.2.5 > Aceinna OpenIMU 300
HARDWARE: STM32F405RG 120MHz, 128KB RAM, 1MB Flash
DEBUG: Current (stlink) External (blackmagic, jlink, stlink)
PACKAGES:
I am using Ubuntu 16.04, all Visuaol Code and Platform IO are up to date and I am trying the debug the sample INS application.
I can upload the application to the IMU and it runs fine but I can't debug.
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html
[platformio]
description =
A Kalman filter based algorithm that uses rate-sensors to propagate attitude
(roll, pitch, and heading angles) forward in time and accelerometers and
magnetometers as references, to correct for bias in the rate-sensor signal.
Additionally, the algorithm uses accelerometer data to propagate velocity and
position and velocity (in the North/East/Down-Frame) and GPS data to correct
for errors and estimate bias in the accelerometer signals.
Platformio.ini:
[env:OpenIMU300ZI]
platform = aceinna_imu
lib_archive = false
board = OpenIMU300
;lib_deps= ../../OpenIMU300-lib
lib_deps = OpenIMU300-base-library@1.0.9
build_flags =
; -D CLI
-D GPS
-D SPI_BUS_COMM
-D __FPU_PRESENT
-D DISPLAY_DIAGNOSTIC_MSG
-D ARM_MATH_CM4
-I include
-I include/API
-I src/user
-I src
; -L ldscripts
-Og
; -Wno-comment
; -Wl,-Map,imu380.map
; -Wl,-Tstm32f40x.ld
-mthumb -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16
monitor_speed = 115200
debug_tool = stlink
;upload_protocol = jlink
;debug_tool = jlink
;debug_tool = custom
;debug_port = :4242
;debug_server = $PLATFORMIO_HOME_DIR/packages/tool-stlink/bin/st-util
Can I use OpenIMU300ZI firmware and apps on the OpenIMU300ZA?
I have noticed Mouser is listing this part as obsolete and the all reference in the doc and Github are slowly disappearing.
What is the official support for this part?
Also if your products are aimed at the automotive segment amongst others why obsolete parts after such a short duration. I feel I have wasted and immense amount of time!
Regards,
Simon
@Li-YiFan Quite some time has passed now.. any updates on the next release?
@Li-YiFan Any update on the firmware release?
I had the same problem, after looking at the code I thinks it's design is only for Windows with cr/lf and I am using linux terminal that only sends cr. I think it might be better for it to detect cr as end of line not LF.
Regardless of that I don't see how the code ever worked properly, as the static uint32_t index = 0; and cmdlinde are never reset after am initial command line execution.
I added bzero(&gCmdLine[0], sizeof(gCmdLine); index = 0 in (commandline.c)
If you don't reset the above then it will only ever run one command.
void CmdLineLookup(tCommand const *cmd_table)
{
static uint32_t index = 0;
if (DebugSerialReadLine((uint8_t*) gCmdLine, &index, 80)) {
strrep(gCmdLine, '\r', 0);
strrep(gCmdLine, '\n', 0);
if (gCmdLine[0]) {//don't process empty string
//Ignore lines that start with # character
if (gCmdLine[0] != '#') {
_ExecLine(cmd_table);
}
}
bzero(&gCmdLine[0], sizeof(gCmdLine)); // Add this
index = 0; // And this
CmdPrintPrompt();
} // else wait until prompt is ready
}
Also comment the following in Debug_usart.c as it is stripping out the cr so it will never find the end of line to and never return true from DebugSerialReadLine()
int DebugSerialReadLine(uint8_t *buf, uint32_t *index, uint32_t len)
{
uint8_t c = 0, lf = 0;
int num;
while (c != _LF){
num = uart_read(debugSerialChan, &c, 1);
if(num <= 0){
break;
}
if (_TAB == c) {
c = _SPACE;
}
/*if (_CR == c) { // comment this out
continue;
}*/
Regards,
Simon
@Li-YiFan thanks for your response.
Do you have a rough estimate of when the next firmware will be released?
Alternatively can you point to to the relevant code in the Beta on github so that I can investigate?
Regards,
Simon
Is the PPS signal supported in the firmware as per the documentation?
Output consistently freezes after 1 min when using the INS example App with PPS from the GNSS connected to pin 2.
Many thanks,
Simon
I am aware of the announcement to update firmware for OpenIMU300BI to version 1.1.1 .
How can I update the base firmware for the OpenIMU300ZA, mine is currently 1.0.22.
Regards,
Simon
@Sylvain,
Any updates on the INS app?
BTW
I tried your drivers-imu_aceinna_openimu (for Rock) with the firmware in the in the folder and just got a core dumps- is the the correct firmware bin?
unbuntu 16.04 LTS:
openimu serial:///dev/ttyUSB0:115200 write-firmware INS_1-0-0_TW.bin
contacted unit in bootloader mode at serial:///dev/ttyUSB0:57600
firmware update successful
./openimu serial:///dev/ttyUSB0:115200 info
terminate called after throwing an instance of 'iodrivers_base::TimeoutError'
what(): readPacket(): no data waiting for data. Last wait lasted 3ms, out of a total timeout of 1000ms
Aborted (core dumped)
UPDATE:
Looks like the baud rate for INS_1-0-0_TW.bin firmware defaults to 57600. Then the output is fine.
Also note the GPS input is on UART 1 (Serial Channel 1) NOT UART2 (Serial Channel 2) which is normally designated for GPS.
Regards,
Simon
@Li YiFan thanks for pointing out the the VG-AHRS app now has mag-align. I managed to get get better alignment after a few attempts.
The mag-align process doesn't seemed to like being run in succession, I had to disconnect between attempts. Also my unit is in -X+Y-Z orientation (set in unit settings) does the align algo cope with non default orientations?
Thanks,
Simon