h. What are additional functionalities in PIC18F2550, PIC18F2xJ50 and PIC32MX250F128B firmwares on this website compared to the original Velleman firmwares for K8055-1 and K8055N-2?

QUESTION:

Does PIC18F24J50 and PIC18F26J50 FW from this website support the following functionality:

•10, 9 and 8 bit A/D precision

•10-bit PWM (plus 10-bit D/A) precision

•Counters on all digital inputs with 0 to 5 second debounce feature in 0.1ms steps

•Operating digital inputs as low speed frequency counters (up to 2 kHz)

•Operating digital outputs as hobby servo control (500 to 2500 micro seconds, 40 pulses per second)

•Firmware keeps operating servo settings and counters even if USB communication is lost

•Current configuration and output settings can be queried from the card

•Firmware does not send HID reports unless some input data has changed

•PIC can be reset via HID command

Right now I am not working much on the firmware. I am trying to develop the PC side USB parts into a client/server model.

ANSWER:

Yes, it does! It also adds a lot of additional functionality:

+ Important commands have been added to HID, like:

<data> = DataMemRead(<address>)

DataMemWrite(<address>,<data>)

They enable access to all µC functionalities through its internal functional unit's registers. The registers are describes in details in the original Microchip documentation. The original Velleman firmware and other open firmware that emulates the original firmware only allow very limited functionality. "Velleman" emulation is also supported by the firmware on this site, but the priority is to support all or at least most of the inbuilt functionality of PIC18F2xJ50 and PIC32MX250F128B microcontrollers:

+ native 32-bit and 64-bit Windows support (32-bit and 64-bit DDLs and sample applications)

+ microcontroller programmer support functions (ICSP and JTAG) which enable you to make your own microcontroller programmer

+ Multithreading support

+ I2C bus support and advanced digital sensors support

+ A/D input visualization (oscilloscope) ... ALSO SEE: 1 Msps modular oscilloscope for everyone

+ Frequency and impulse width measurement

+ Robotics: DC motor controller support

+ Robotics: Stepper and servo motor support

+ Client-Server model (Remote control via Internet)

+ much more...

ALSO READ: Support for 32-bit PIC32MX250F128B microcontroller (including adapters for K8055 and K8055N), which is also in 28-pin chip, but much "light years" more advanced than an 8-bit PIC18F24J50... , but it costs just an 1 € more...

... The second thing I did was unlocking reconfiguration of PIC in my FW initialization procedure. This allows for easy software (PSS) reconfigurations of microcontroller pins functions (like input or output, PWM output, counter input, analog input, .... ). However, it is very easy to programaticaly lock the chip again, if you need.

I've implemented most of the functions you mentioned above in my FW. If something is missing, you can always useDataMemRead, DataMemWrite, SetDataMemBit and ClearDataMemBit functions over USB to directly reach the internal PIC registers (SFR).

You can easily operate servo motors in different configurations, either through PWM driven DACs, or directly through one of the other 3 PWM modes (bridge conficurations), if they are stepper motors. ECCP unit offers four stepper motor control oprtons... See Microchip documentations.... USB communication is not necessary for the motors operation. You can get a whole chip telemetry from either specialized built-in FW and DLL functions, or by using DataMemRead and ProgMemRead functions. PIC18F2550, PIC18F24J50, PIC18F26J50 and PIC32MX250F128B firmwares also include low frequency generators. There si practicaly no memory location in PIC18 that you are not able to reach. My FW works on demand. So, nor reports are send, if not requested by the host USB controller. This is the same model as Microchip uses in its examples. But Velleman FW has a different approach. They programed PIC to continiously send reposts, one each 10 ms. This greatly decreases options for FW enhancements, since a new report has to be generated in 10 ms. I currenty don't see any function that you would not be able to implement with my FW. And there are some additional functionalities in my FW, like PIC18 programmer supoort and JTAG programmers support functions that enable data serialzation and deserialzation....

There is also an example with a DLL library that allows PIC18F2xJ50 remote control via TCP/IP communications.

NOTE: To get a comprehensive list of new functionalities read the Programming manual (or go to Downloads section to get the PDF), where most functionalities are documented, others are visible from source codes of different projects. All the VB.NET source code is available for free... PC USB Projects is not a 1:1 copy of the Velleman FW, it offers much more functionality, while retaining backwards compatibility. There are many examples that vastly supersede the functionality that you mentioned. My FW has been greatly extended from the time of the Q&A that you mention in your post. Please, see my Programming guides for PIC18F2xJ50 and PIC32MX250F128B microcontrollers for more information.