Changes in this version: alpha_3_160916 * Components * - Feature additions - Added new electro mechanical simulation components under sim license Added customisable RawSend timings to the LCD Generic component via a new property Added flip options to the WSxxxx LED Components to allow for more wiring options Draw Bitmap component now works with WSxxxx LED components in 2D mode Added custom timings option to WS2811 component to make it more flexible Added WS2811/WS2812 component to drive and simulate chained LED controller ICs Added SPI peripheral support to help speed up the WS2801 RGB LED Component Added a component to drive the WS2801 Constant Current chainable RGB LED Driver IC added missing tooltips to IntOsc Helper, TargetChip and Device Helper CircularBuffer - Added new GetIndexedByte macro as requested from the forums Added modbus timeout length and interation controls to the modbus properties added 16-bit PWM support for the PWM and CALPWM components 12(L)F157x devices Circular Buffer added new GetIndexedByte macro as requested from the forums Bitmap Drawer no longer needs to store and parse bitmap header on the fly, now only the pixel data is stored Modbus component now has additional feature to auto wait 60ms between messages to conform to specification - Bug fixes - CAL SPI Component now lists remappable in a dynamic format to match the SPI C CAL changes Added new SPI remap mode without remappable SCK pin to all SPI based components WS2811 component now has correct RGB/GRB output modes to ensure 2811 and 2812 work in the same way WSxxxx components no longer allow for addresses out of range which should help for drawing bitmaps partially off the display WSxxxx Shift2D macros had a problem with displays with more than 256 pixels CAL PWM was outputting it's port and data direction registers in lowercase WSxxxx LED components drawing mirrored Y axis in 2D mode Clone matrix doesn't return handles if array larger then 256 objects. EB068 Accelerometer couldn't be added in a free version - missing a unlicensed CAL? Slightly adjusted the timings for the WS2811 - tested working on Arduino and EB091 Fixed a problem where the clone matrix didn't initialise correctly when embedded into a component Fixed a few typos and tooltips on the WS2801 component added missing tool tips to auto label and labels Accelerometer EB068 - sim macros were set as downloadable - missing tooltips and I/O control Renamed RS232 component as UART (RS232) as RS232 is the level shifted form of the Serial bus Added injector initialise to DMX Master and Slave components ESP8266 and EB075 had their UART Flow control property enabled causing unreliable comms and lockups ESP8266 now forces UART flow control off DAC was not redrawing the waveform on the data recorder correctly CAL UART was defaulting to Flowcontrol on which was breaking/hanging components Fixed simulation for DHT11 and DHT22 components LUT component could not read the values from the new AVR forced ROM Array, now detects AVR and uses pgm_read_byte() to get the ROM value Modbus master component had the possibility for Flowcontrol to be enabled in the CAL UART layer, now forced to disabled PIC32 PWM frequency was being calculated & displayed at /2 of the actual generated frequency nRF24L01 component was not functional, now fixed and tested working as long as FIFOs are 32 bytes on RX and TX Fixed a problem where USB HID buffers could not be 0 bytes in length Modbus Slave removed some unnessisary code when regs index from 0 Bitmap Drawer was missing some tooltip info Modbus slave was returning nonesense uninitialised data using the wrong buffer idx var ModBus Master would stop listening to slave's reply if the byte value 255 was received Modbus slave generated a lot of unnessisary warning messages which have now been removed ModBus slave couldn't receive any data correctly Fixed console wrap counter errors in the RS232 transmit and receive PIC8 USBHID checked in changes from JK needs some effort to finish off RS232 component had a problem formatting data correctly on the console after receiving a \n / LF / 10 Cleaned up surplus meshes from RGB LED 5mm component Updates to starburst component to allow it to better simulate multiple multiplexed displays * Tools and plugins * * CAL changes * - Feature additions - Added watchdog timer reset to PIC32MM range added 16-bit PWM support for the PIC PWM CAL 12(L)F157x devices added clock stretching support to I2C software channel in master mode - Bug fixes - AVR CAL IO was using old lower case definitions for DDR registers, causing PWM compile errors in the bit shifting in GetRxIdent, so affected some CAN message IDs. Fixed CAL SPI Remapping to accomidate PIC32 with none remappable SCK pin Fixed CAL SPI Remapping to correctly map to the channel instance rather then the channel number PIC32 CAL UART now correctly supports up to 6 UART peripherals PIC32MZ U3 IE flags in IEC4 AVR TWI I2C Master_TxByte not returning Ack when TWSR = 0x40 Number to Hex String function didn't quite match the simulator "0x01" sim vs "0x1" embedded, now defaults to "0x01" in both cases Found a better fix for the PIC CAL String bug StrVar = "Const" + StrVar using Typecasting in the decision Fixed a problem where PIC CAL String couldn't handle Str = "Const" + Str Converted bool type back to MX_UINT8 or it causes compile errors for functions using bool as a parameter PIC CAL Typedefs MX_BOOL variable type changed from MX_UINT8 to bit PIC CAL String - Had problems with StrVar = " StrConst " + StrVar AVR Const arrays are loaded into RAM on power on, now forced to stay in ROM only PIC CAL USB buffers are now allowed to be 0 bytes in length I2C Clock Stretching mod for Software Channels was calling wrong function to check clock sig level Some of the I2C CAL files had the 10ms stop delay hard coded, now controlled by property UART Receive timeouts all moved from delays to software loops, length of loop tweaks Fixed a USB compile bug on 16-bit PIC Increased the timeout counter for the 16-bit PIC CAL UART Fixed an EE problem on 18F devices reports of EEPROM issues on 18F devices, reverted PIC8 EEPROM to use reg access instead of XC8 libs PIC8 HID USB CAL updates from JK ADC CAL for 16F1947 ADC Tpye 27 had a bug where case 11 was repeated in the switch statement Fixed problem with internal CAN on 16-bit PIC when device does not have DMA memory Compile fail on PIC 18F2331 * FCD changes * - Feature additions - PIC32 configs disabled code protect and flash protect by default Added support for the PIC24FJxxxGA3xx family Added the PIC32 MM range of low pin count & low power devices added 16-bit PWM support for the 12(L)F157x device definitions - Bug fixes - More PIC32 default config settings changes PIC32 clock speeds, found some incorrect max and default values Some PIC32MX devices were incorrectly capped at 100MHz, now increased to 120MHz Fixed timer 4 definitions for 18FxxK22 devices Formula AllCode IR and IRE Channel Numbering Fix 1-8 instead of 0-7 to match documentation Fixed timer 3/5 control bit definitions for 18(L)FxxK22 devices Changed SPI Remappable type on PIC32 MZ and MX families, SCK pin is not remappable PIC32 MZ Added Missing UART RX Interrupts and fixed existing interrupts so flags are in the correct registers Added default chip config settings to uC32 Definition file Fixed missing pins F2 & F3 from PIC32MX3X0xxxH Devices and Digilent uC32 16(L)F150x INT0 pin defined as B0 instead of A2 Fixed a couple of compile issues for the PIC32 MM device family 18F2585 and family had a init code compile error and a missing config definition found more 16-bit PIC devices with missing CAN peripherals and pins Fixed a number of missing CAN definitions for the 33FJxxxGP706 and 706A device families PIC32 targets missing ADC init, any AN enabled pins could not be used as digital inputs 12F157x devices had a PWM related issue where the PWM channels were not type defined correctly 18F6xK22 and 18F8xK22 devices had some timer definitions still using old lowercase register access Fixed CAN remappable register definition error on 33EPxxxGP/MC devices * Compiler changes * * Flowcode executable * - Feature additions - Added Free version and 30 day fully functional trial version. Show components in edit calculation block Added support for multiple languages Modified the Project Explorer to make it more obvious how to add new variables, constants and macros FloatToString$ accepts one and two parameters Added ability to compile to certain chips with the free version Implemented the ability to drag & drop and cut & paste icons from one flowchart to another. Icon overlay for unlicensed components, adding license name in tooltip Anti-aliasing option in 2D/3D panel - Critical fixes - Revert changes made to FloatToString$ (Rev.185) - Bug fixes - Macro import with initialization values Macro return issue in ICD mode Freeing and decreasing memory consumption Initialization of strings with parenthesis Using zoom window cause 3D rotation on dashboard Macros that return strings have wrong parameter type Text color to component debugging messages Help link in components Fixed auto hide on the oscilloscope Fixed an issue where the Ghost menu was sometimes incorrectly disabled Console high DPI Tab control with high DPI Redraw in imagebuttons Scheme save bug Fixed the mouse cursor on the start page so it shows a pointer instead of the text highlight cursor Check the validation of current View Tab focus unnecessary change when simulation Further bug fixes and refinement of the Oscilloscope feature Details dialog resize Macro return String issue Code profiling counter issue in calling subrutines. 2D exported objects don't display in 3D panel Create new variable with reference option issue FloatToString fixed size buffer issue Dialogs tab change issue Project options dialog white text FloatToString function with two parameters ICD flickering problem in watch window Invisible dialog corners Loop icon GUI bug Fixed a problem with licencing & multiple users Popup menu fix in DataRecorder Tab selection in Variable manager dialog Scintilla popup menu icon background Handle icon in Macrotree object slow/block response in full speed simulation Improved the speed of compiling when there are many warnings Fixed a minor bug in the about window where pressing enter or etc wouldnt properly close the window Update style for Pop up menus Context menu crash(start icon) Lower detail threshold in primitives Project options dialog, resize fix 2D/3D Panel's Status Bar color update Save/display component icon with transparency Syntax control color update Tabs selection issue in key mapping dialog OK & edit macro issue(flow chart not shown well) Compiler Options item drawing issue. Fixed a bug where zooming caused the screen to jump up to the top Fixed the paths on the recent files buttons so that if the text is too long then its shows an ellipsis in the middle of the path instead of at the end so that the filename is now visible Fixed a minor issue with the chip window where if the mouse curser moved over the close button then the next time the user clicked it would always close the window even if the cursor wasnt over the close button any more Fixed recent files list so it correctly updates the Start Screen Fixed the line ending of compiled code so that they end in CR/LF instead of just CR Fixed problem with manual activation Fixed the 'settings name' field in the compiler options so that it draws correctly Converted the 'Options Save' window inside compiler options to use the new visual styling Redrawing issue in tabs in Icons List and Project explorer - Cosmetic changes - Console window visual style update Comments edit dialog visual style update Data recorder visual style update Analog View visual style update Redrawing of Trees views Turn snap to tabletop off by default Header list style update Improved an issue with the 'flickering' of windows as they were being shown and hidden in rapid succession. This was especially evident whilst loading or creating projects. Visual style update for message boxes Visual style update in key mapping dialog Resize issue in watch window * Programmer * - Feature additions - Added support for the new range of MIACs