Historical project documentation. Content is maintained in GitLab.

NGOS-0.62

Release Notes

NGOS version 0.62

Bumped version number to 0.62.

Added 4800baud as valid rate to sb ctrl. Allows use of standart GPS receivers. Renamed variable f_verbose to ng_f_verbose to avoid linking errors for libng under Win32.

Volker extended the rc-controller software to support the external rc-controller pcb of the NG-mini. Servo PWM -> OK. Tilt compansation -> OK. Fixing small helptext failures and added a lot of documentation. Port configuration corrected.

On the RCC: instead of cyclic, OCR1x is now updated during COMPx_vect.

Reactivated sw pwm for servo 2,3,4.

Attention! On HW0.22 the servo naming is - lets say - not ok. The software is 0 based, schematic based on 1 and the PCB labels are just wrong.

To understand:

  • SW PCB SCHEMATIC
  • 4 1 5
  • 3 2 4
  • 0 3 1
  • 1 4 2
  • 2 5 3

Changed all Makefile.am & configure.ac: We no longer generate static libraries per subfolder but instad compile all objects to the src/fc/.obj folder. Changed all Makefiles.am to contain specific implicit rules to compile .c to .o using that new .obj/ folder defined in configure.ac as OBJDIR. Dependency tracking still works (now). Make no longer compiles all objects as seen in the first try.

Added Volker’s hw-0.22-mini PCB and gerber files. Added schematics and board files for Dietrich’s two and four layer drawings of the quax blc 4428 BLCs. Added the new CMOS camera (WVGA) design from Andreas.

Added functions and behavior actions to set ports and play pattern on IO pins on GP SPI1 connector, Added a special shell command ‘rfidcmd’. Corrected a 16bit servo error in behaviors. Corrected servo PWM for tilt compensation to work again. Moved rfidcmd and changed action to set behavior variable, which makes it possible to connect actions by behavior definitions, added behavior condition var.equal.clear().

Tim ported the PicoC library to NGOS. Implemented missing stdlib function. Added ‘interactive’ command to shell. Implemented –enable-picoc to activate picoc based behavior programs. Reserved flash sector 25 for picoc code.

Added -Wno-portability to AM_INIT_AUTOMAKE(). This way we don’t get any bugging GNU make portability warnings which do not interest us anyway.

Reverted the $(OBJDIR) change! NGOS did not startup anymore! We need to find out why r5645:5665 does break the NGOS boot process. It seems that linking with $(OBJDIR)/*.o instad of linking static libraries strangly does not work out as expected.

Added tools/toolchain/build-arm-toolchain.sh which is able to fetch and compile an ARM toolchain fully automatically. Please note that current NGOS trunk has trouble with startup when being compiled with a gcc 4.5.x toolchain. It seems to be an issue with ‘struct reent’. It seems that gcc 4.5.x with NEWLIB does not correctly setup the reebt structure. Found note on “Use _REENT_INIT to initialize the reent structure of NEWLIB”.

Added Gerber files for the new Mini-NG. Added Gerber files for CMOS_camera_WVGA.

Fixed bug in HAL output for hexa HAL, as reported by MacNorth. The reference in the hal_list[] table in hal.c was wrong. Corrected.

Initial import of Nabil’s FPGA eagle files.

Ralf adjusted RC_SUM_MIN_SYN_PULSE to recognize Jeti MK II Receiver. Ralf also added the new HW_ID for VER_0_22_mini, changed LED addresses depending on HW_ID.

Implemented HIC SVNT DRACONES. Fixed error in version.h.

Added new HW-0.22-mini PDF files.

Reverted Tim’s picoc changes (except the fixes to lpc2148-rom-bl.ld and lpc2148-rom.ld). We decided that it uses too much cpu power and we think we will need to build our own compiler which generates precompiled binary executable code instad of a picoc interpreter.

Hopefully fixed ctrl_input()’s version checks for hw-0.22-mini. The code did not yet differ between hw-0.22 und hw-0.22-mini. One needs to adapt all SVER() switch checks for a new hardware version type, as these do not match using > or < operators.

Fixed detection of S3D DSL receivers and of MLINK receivers connected to uart0/1 on LPC: some #ifdef checks were broken.

Fixed missing symbol when S3D is not enabled. Thanks to Dracos-Carazza for discovering the problem.

Made sure that a change in terminal_const.h will recompile terminal.[ch] making sure the changes to the header file will be included without a ‘make clean’.

Added mini-ng schematics as pdf and png to release script.

Implemented the commands “diff conf”, “diff globals” and “diff hal”. All of them show the CHANGED parameters compared to the basic default configuration.

Printing of a behavior rule is now modular. Dump and list behavior functions call it. Implemented ‘diff behaviors’. And now, that we have a diff for conf, globals, hal and behaviors implemented the new command ‘diff all’ which will show everything changed in all configurations in a form usable for easy copy and paste.

Removed “HW.HAL” from HAL configuration. it gets shown in “show globals”. This way it will not show up two times in “diff all”.

Implemented shell comments. Command lines beginning with “#” will be ignored. Added comments to the command “diff all”, “diff conf”, “diff globals”, “diff hal”.

Added a version check for HW_0_22_mini: we have no sensor board on the mini.

Fixed “show version” to only show FC-HW version and no SB-HW version for the Mini-NG, as we do not have a sensor board on the Mini-NG.

Implemented –enable-cam-ctrl for the rc-controller. Enabling it will result in a cam-ctrl hex file for the Mini-NG.

Added HW-ID for the Mini-NG-experimental.

Small RTC fix for the Mini-NG-experimental. Using correct function attributes for rtcISR now. Proven to boot on HW-0.22, HW-0.22-mini and HW-0.22-mini-exp.

Fixed command “behavior add” to accept multiple spaces between behavior condition and action. Fixed terminal not to output the arguments two times when a unrecognized command gets entered.

Added version check for hw-0.22-mini-exp in ver_init() as the SB HW-ID ADC input is open on this hardware revision. wWe now set the SB HW-ID to the FC HW-ID if we detect a hw-0.22-mini-exp FC.

Dropped unneeded openocd40-jtagkey.cfg and openocd40.cfg. The new OpenOCD-0.4.0 config script conf/jtag/openocd40-lpc2148-amontec-unix.cfg sources everything it needs by itself, no need to hardcode such stuff. OpenOCD-0.4.0 works when using –enable-openocd4 and pointing configure to a openocd4 script file. The default is an Amontec JTAG script file. We need to replace –enable-openocd4 with a version check of the configured openocd binary, no need for a configure switch for that.

Renamed hw-misc/cam-controller to hw-misc/mini-cam-controller.

Ralf fixed camera attitde control again, hopefully for ever.

Fixed configure: it looked for openocd40.cfg which no longer exists and is unneeded. We have single file jtag configurations, containing all oocd script includes and the flash-script needed to flash.