Go Back To Home PageAbout UsSend an email to alessioEnter ChatLinksmumble... mumble...
RC Joystick NG² ChangeLog

Firmware:


     3.3.4 - (3 Apr 2007) support for Walkera PCM radios (tested: WK-0701)     

     3.3.3 - (9 Mar 2007) changes made to use the new semplified one side
             only PCBs: MCLR disabled (config registers: MCLRE = OFF) for
             removing pull-up resistor from VDD to RE3; bit INTCON2, RBPU
             cleared during initialization to enable PORTB weak pull-up:
             in this way the pull-up resistor from VDD to the transistor
             collector is not needed anymore. Thanks to Martin R Dare for
             suggestions.

     3.3.2 - (28 Feb 2007) resolved a bug that doesn't allow to achieve
             B_MAX_PACKET_SIZE0 = 64 (and that could cause some problem
             with the value 32 used before). Renamed FCMEM to FCMEN in
             config directives for compiling with MPLAB 7.50. Made new
             linker script rm18f2455.lkr for using our qpicprog bootloader
             to program the code into the PIC directly via usb. Little
             modification added: servo pulses output for Ch1 and Ch2 on
             RB6 (ICSP pin 5) and RB7 (ICSP pin 4), for testing servos
             (work only with a ppm input signal, not pcm or adc).

     3.3.1 - (25 Sep 2006) nothing done here: just ported set_assignments
             and get_assignments utilities to linux.

     3.3.0 - (21 Sep 2006) introduced ADC mode: in case the radio is not
             equipped with PPM/PCM output it is now possible to directly
             connect the potentiometers/switches of the radio to the PIC
             analog inputs AN0..AN11 (ADC1 and ADC2 in the PCB) and use the
             internal 10bit ADC to convert them. Minor rearrangement to
             the source.

     3.2.0 - (11 Sep 2006) the device becomes full speed to get around
             constraints on speed and report size imposed for low speed
             devices by USB specifications; this means that now we can have
             more proportional channels without loss in resolution: the
             current version have 8 proportional axes per joystick (up to
             5000 points resolution each) and 8 buttons for a total of 16
             proportional axes and 16 buttons (32 controls). The traditional
             low speed interface with 4 axes per joystick is still available
             by setting INTERFACE_TYPE define to 1; the polling interval for
             interrupt transfer is now set to 5 ms (and could also be set to
             1ms) to reduce input latency.
     
     3.1.3 - (27 Aug 2006) added the possibility to assign a reversed channel
             to a joystick control by simply negating the relative assignment
             code in the eeprom data. You can do it with set_assignments.exe
             by writing directly the relative decimal code with a minus sign
             inside set_assignments.txt. But if you prefer to directly edit the
             eeprom or to change the default code value in the source remember
             to put the one byte 2's complement hex as negated code.
     
     3.1.2 - (19 Aug 2006) implemented futaba PCM1024 Error Correcting Code.

     3.1.1 - (30 Jul 2006) added PCM support for Futaba PCM 1024; include
             support for Ch9 and Ch10 and implement delta channel position
             algorithm; thanks to Rinaldo Dos Santos for recordings and help
             for testing.

     3.1.0 - (07 Jul 2006) added PCM support for Sanwa/Airtronics PCM1/2;
             assignment tables format changed inserting the modulation code
             as first table byte for selecting which modulation to use for each
             table. Thanks to Shaul Eizikovich (author of SmartPropoPlus) for
             precious PCM signal infos and help for testing. NOTE that this support
             is experimental: for now it has been tested only with few recordings
             of a pcm signal with a soundcard (we have not any PCM radio :-) Shaul
             has made recordings and sent them to us).
             MAX_CHANNELS reduced from 24 to 12 to free space on access memory:
             radios haven't more than 12 channels and PPM and PCM modulations
             doesn't allow more than 8 channels at this time. ASSIGNTAB moved to
             access memory. Number of assignments is 24 as before: leaved 24
             different joystick controls (two joystick, 12 controls each) to
             give the maximum assignment versatility. The maximum number of
             assignment tables is now 18 instead of 10.

     3.0.3 - (14 Jun 2006) added defines for ID_VENDOR ID_PRODUCT and BCD_DEVICE
             (see relative device descriptor fields); GET_DESCRIPTOR strings bug
             resolved: modifications made for allowing more than 256 byte for all
             descriptors (String2 descriptor was in part over this limit causing
             bad product string to be returned: bad strings in control panel...):
             USB_desc_ptr replaced  with USB_desc_ptrL, USB_desc_ptrH and
             USB_desc_ptrU; modified Descriptor, ServiceUSB (GET_DESCRIPTOR part)
             and SendDescriptorPacket. ID_PRODUCT changed to allow users that
             have already installed the bugged version to have the corrected
             strings inside control panel -> game controllers: it seems that
             windows doesn't correct them once corrected in the firmware, even if
             you try to uninstall the peripheral inside device manager and
             reconnect it and let windows reinstall it; it seems to keep the
             strings set during first installation; changing ID_PRODUCT windows
             will see the peripheral as a completely new device... (the alternative
             is to manually delete some keys in the system registry like this:
             HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\MediaProperties\
             PrivateProperties\Joystick\OEM\VID_04D8&PID_0103 but it could
             be more difficult and dangerous).

     3.0.2 - Assignments can now be set via USB. Added three vendor specific
             requests to the firmware and on the pc side two C programs for
             setting/getting assignments data to/from eeprom. Assignments
             tables can be stored on the pc inside text files. Data format on
             eeprom is left unchanged. C programs use LibUsb_Win32 0.1.10.1
             filter driver for communicating with the device.

     3.0.1 - Changed the assignment tables method: assignment tables are coded
             into eeprom 256 byte data memory: from 1 to 10 different assignment
             can be prepared into eeprom to suite different radios/simulators needs.
             At any time it is possible to change which table to use by simply
             changing last eeprom byte (TableSelect byte). Now assignment tables can
             easy be changed using programmer software without the need of modifying
             the source and recompiling it.

     3.0.0 - Descriptors and code modified to make a composite device: the device
             is now seen from the host as two joystick with 4 axes and 8 buttons
             each. Now the device has two hid interfaces, one uses EP1 the other
             EP2 for a total of 16 byte sent every 10ms. The 24 channels are
             mapped to joystick axes and buttons using the usual two assignment
             tables, one optimized for futaba/hitec the other for jr/graupner.
             The firmware is now based on the last Bradley A. Minch framework
             version (lab2 firmware) and include all his correction (till current
             last update: 01/19/2006).

     2.0.1 - Code modified to easier changing of max number of channel read by the
             firmware through the define MAX_CHANNELS and resolve some minor bugs.

     2.0.0 - Initial RCJoystick NG release: RCJoystick ported to 18f2455/2550
             thanks to Bradley A. Minch framework (initial public release)
 

set_assignments.c
   
     3.3.4 - (3 Apr 2007) added Walkera PCM     

     3.3.3 - (9 Mar 2007) -

     3.3.2 - (28 Feb 2007) corrected bug with more than 10 tables.

     3.3.1 - (25 Sep 2006) set_assignments and get_assignments ported on
             linux with very little modifications to the source: the same
             source work now on windows (linked against LibUSB-Win32) and
             on linux (linked against libusb). Linking it against libusb
             should be smoothly ported on all OS supported by this: FreeBSD,
             NetBSD, OpenBSD and Darwin/MacOSX. Also corrected a bug with
             error messages reported by libusb/LibUSB-Win32 (wrong call to
             usb_strerror).     

     3.3.0 - (21 Sep 2006) support firmware ADC mode (see firmware source).     

     3.2.0 - (11 Sep 2006) added INTERFACE_TYPE define to select which type
             of interface to communicate with: 8 axes per joystick or 4 axes
             per joystick, depending on what firmware is loaded in the PIC.

     3.1.3 - (27 Aug 2006) added the possibility to assign a reversed channel
             to a joystick control by simply negating the relative assignment
             code in the eeprom data. Added also a delay before exit to allow
             user to read success or error messages in case the window close
             itself when the program exits.

     3.1.2 - (19 Aug 2006) -

     3.1.1 - (30 Jul 2006) added Futaba PCM 1024 support. Uses LibUsb_Win32
             20060518 snapshot filter driver that corrects a bug with XP
             utility "USB Safely Remove Hardware".

     3.1.0 - (07 Jul 2006) added PCM support for Sanwa/Airtronics PCM1/2;
             assignment table format changed inserting the modulation code
             as first table byte for selecting which modulation to use for
             each table. MAX_CHANNELS reduced from 24 to 12 and MAX_TABLES
             incremented to 18; the number of assignable joystick controls
             is the same as before (24); see firmware source revision history
             for further details.

     3.0.3 - (14 Jun 2006) added defines for ID_VENDOR and ID_PRODUCT;
             ID_PRODUCT changed to reflect changes in firmware for correcting
             string bug (see firmware source).

     3.0.2 - First release with RC Joystick 3.0.2 firmware.   


get_assignments.c
      
     3.3.4 - (3 Apr 2007) added Walkera PCM     

     3.3.3 - (9 Mar 2007) -

     3.3.2 - (28 Feb 2007) -

     3.3.1 - (25 Sep 2006) set_assignments and get_assignments ported on
             linux with very little modifications to the source: the same
             source work now on windows (linked against LibUSB-Win32) and
             on linux (linked against libusb). Linking it against libusb
             should be smoothly ported on all OS supported by this: FreeBSD,
             NetBSD, OpenBSD and Darwin/MacOSX. Also corrected a bug with
             error messages reported by libusb/LibUSB-Win32 (wrong call to
             usb_strerror).     

     3.3.0 - (21 Sep 2006) support firmware ADC mode (see firmware source).     

     3.2.0 - (11 Sep 2006) added INTERFACE_TYPE define to select which type
             of interface to communicate with: 8 axes per joystick or 4 axes
             per joystick, depending on what firmware is loaded in the PIC.

     3.1.3 - (27 Aug 2006) added the possibility to assign a reversed channel
             to a joystick control by simply negating the relative assignment
             code in the eeprom data. Added also a delay before exit to allow
             user to read success or error messages in case the window close
             itself when the program exits.
     
     3.1.2 - (19 Aug 2006) -

     3.1.1 - (30 Jul 2006) added Futaba PCM 1024 support. Uses LibUsb_Win32
             20060518 snapshot filter driver that corrects a bug with XP
             utility "USB Safely Remove Hardware".

     3.1.0 - (07 Jul 2006) added PCM support for Sanwa/Airtronics PCM1/2;
             assignment table format changed inserting the modulation code
             as first table byte for selecting which modulation to use for
             each table. MAX_CHANNELS reduced from 24 to 12 and MAX_TABLES
             incremented to 18; the number of assignable joystick controls
             is the same as before (24); see firmware source revision history
             for further details.
             Now get_assignments.exe doesn't ask anymore before overwriting an
             existing file to avoid continuous annoying prompts... but if you
             prefer it to ask simply uncomment the define PROMPT_OVERWRITING
             and recompile.

     3.0.3 - (14 Jun 2006) added defines for ID_VENDOR and ID_PRODUCT;
             save_assign_tables modified: more complete comments written into
             get_assignments.txt; ID_PRODUCT changed to reflect changes in
             firmware for correcting string bug (see firmware source).

     3.0.2 - First release with RC Joystick 3.0.2 firmware.


Previous Page