For now I’m fine with Open8055. There may be a chance at some point to combine some of the work. For example the Open8055 firmware and client libraries could work on the PIC18F2xJ50 conversion from your PCUSB project. As could the HID boot loader.
I used to work on the kernel in Minix (1.3, 1.5 and 386-Minix) as well as MtXinu Mach386 (a Mach 4.0 microkernel with a 4.3 BSD layer) back in the late 80s and early 90s. Since the mid 90s I specialized on database backend. I designed and implemented several features in the PostgreSQL database system. Today I work mostly on database replication technology. I designed and implemented the Slony Replication System.
I try to avoid Windows as much as possible and work mostly on FreeBSD these days. Our production database servers are all on RedHat Enterprise. For that reason I also have about 8 CentOS VMs on my laptop (usually not all running at the same time, but they can).
Electronics and Microcontrollers are purely hobby for me.
As you have probably realized by now, we have totally different philosophies… I’m fine with 64-bit Windows versions from 7 and 2008 on. I also support 32-bit versions (XP, 2003, …) . Most large computer systems use Windows, especially in the field of automation. Velleman original K8055-1 and K8055N-2 FW and DLLs also work on Windows, but there are no 64-bit DLLs and the functionality is poor. PC USB Projects provide both: 32-bit and 64-bit DLLs with rich functionality for Windows integrated HID driver.
Does it work on in-memory databases, too? Suppose that you have two MS SQL servers that are both running in-memory databases on virtual drives in RAM (so called RAMdiscs - I use ImDisk) and you would like to have a fail safe system. I believe that this is possible with MS SQL Server 2014, which is still in makings, but it would be nice to do it with older versions, which are not adapted to run in-memory databases, too.
P.S.
I think more like a bird. I exploit new technologies to the full and then (when they become obsolete) I move on to harness even more power from even newer technologies. I can’t immagine perfectly mastering C64, Atari 1024STF or IBM DOS and not moving on to new platforms like Windows NT and Linux.
It is the same with microcontrollers… New models will inevitably supersede the old ones. It is only the matter of time…
I never used DOS to begin with. When I upgraded from CP/M to my first IBM XT compatible computer I immediately removed DOS and replaced it with Unix. I also skipped all the other Microsoft garbage until Win-XP. I had to use some of Microsoft’s stuff at work and could never understand why people would be paying money for any of that.
As for Microcontrollers, I chose the 2550 and 25K50 for Open8055 because they can be used with almost zero modifications to the K8055/K8055N boards and no additional hardware at all. Just swap the PIC. If I would be designing a new circuit from scratch I would probably use a PIC32.
Using a PIC32 with a K8055(N) board would make sense to me if it were the 40-pin PIC and the adapter would actually be an expansion board, providing additional IO pins. The PIC’s I/O ports on the K8055(N) are very well protected by transistors and such, which makes these boards very suitable for experimenting by inexperienced people. Someone has to do very bad things to actually damage the PIC on a K8055(N) board because they are pretty robust.
However, that “protection” comes, as you well know, at a price. Namely that some of the functionality of newer PICs cannot be easily used. Like I2C for example. With a 40-pin PIC32 “expansion board”, we could put things like an I2C bus and bare tri-state I/O pins onto the expansion board. Basically using the K8055(N) board as an I/O shield for some of the ports, while offering other ports and functions unprotected.
The Slony replication system is entirely geared towards PostgreSQL as database. It does work on Windows (32 and 64) as does PostgreSQL. And it is indeed capable of replicating across different architectures and versions. So one could replicate from a PostgreSQL 9.0 on a 32-bit Windows machine with Intel (little-endian) to a PostgreSQL 9.2 on a 64-bit Power-PC (big-endian) running Linux. We have used this repeatedly to perform database version upgrades and hardware/OS migrations with minimal downtime, since one can switch the “master” role back and forth easily.
So for example, to migrate a database to another server we would build a replica on the new server. This can be done online since Slony can perform the initial SYNC while the database is updated by the application. Once the replica has synced and caught up, we switch over, which makes the replica the master and the old master the replica, and point the application to the new server. The switchover only takes seconds, no matter how big the database is.
The system also supports cascaded replication. In our case we have 3 DB servers each in two different locations (data centers). Only one of the servers in the backup location is actually receiving the updates from the master. The other 2 servers in the backup location are cascaded, so the data is only transferred once over the long distance link. But in the case we would ever have to fail over, the backup location has a 3 node cluster instantaneously available.
PostgreSQL and Slony are free and open source. Both are under a BSD style license.
DOS is a much simplified version of UNIX, but Windows NT core (starting from 4.0, XP, …, 2000, 2003, 2008, 7, 8, 2012, … ) has all the features that s UNIX have. On my opinion skipping Windows is a mistake, you should learn from both as I did… You either pay money for new SW or for 5 employees instead of 1 who works with Windows installations.
[quote]However, that “protection” comes, as you well know, at a price. Namely that some of the functionality of newer PICs cannot be easily used. Like I2C for example. With a 40-pin PIC32 “expansion board”, we could put things like an I2C bus and bare tri-state I/O pins onto the expansion board. Basically using the K8055(N) board as an I/O shield for some of the ports, while offering other ports and functions unprotected.
How does that sound to you?
[/quote]
I already work on a PCB design for a completely new experiment board that would be based on two PIC32MX250F128B microcontrollers, which would not only greatly expand the number of I/O pins, but would also add much additional functionality. The board would also include 3 ULN2803A ICs and operational amplifiers, so the protection would be provided. There would also be some unshielded pins for I2C and so on…
You apparently live in the desktop market. I don’t.
In my opinion, Windows is a badly designed OS and the only thing to learn from it is how to NOT do something. Think of it, MSDN actually lists POSIX system calls like open(2) as “deprecated”. Are they retarded or what? Microsoft may be the #1 in the desktop market, but in the server market Unix is still the undefeated champion. And for good reasons. Can you imagine Google or Amazon running their server farms on Windoze? They would have to put half of China onto their payroll to keep that thing going - LOL!
I just recently upgraded a FreeBSD server remotely from version 8.3 to 9.2. In Windows terms that would be to upgrade from XP to 8. Try doing that without physical access to the box. Good luck.
Yes, Simon, yes. All the PIC18F chips work with zero hardware changes or adapters on the K8055N. I stated that about 4 or 5 times now. I get the feeling you don’t actually read most of what I write. To repeat: K8055N needs zero changes to run Open8055 with PIC18F2550 or PIC18F25K50. K8055 needs one resistor removed to run PIC18F25K50 and in addition the crystal replaced to run PIC18F2550.
Overwriting the PIC18F24J50 in place is a bad idea. Velleman does not provide the .HEX files to ever get it back to its original programming. It will be lost forever. Unix users never move on without a current backup. You are not a Unix user … obviously.
I would think because it provides Windows, Linux and FreeBSD support, and people can easily add their own functionality to the firmware because it is open source. Even if they don’t want to add anything to the firmware, they still can read the source code and learn from it.
PCUSB - no source code, no learning, no adding, just use what “Simon” implements …
If you browse the forum in a little more depth you will see that people actually complained that the Velleman USB tutor kit didn’t provide any PIC side source code and ergo, didn’t teach much about USB. That is what your PCUSB thing is suffering from as well.
Which will have nothing to do with K8055(N) or Velleman whatsoever, right?
I’m not going to discuss how much code of Windows core was inherited from IBM OS2, at the time of Microsoft and IBM brief partnership. Now, we have the next 64-bit generation of Windows OS. Microcoft apperantely closely cooperates with Intel and it seems that even every new server processor or chipset is first supported by Windows Server OS.
I am afraid that you apperantely have no experience on large information systems that are based on Windows Server OS. I have experience from both worlds. We are “talking” about systems that support thousants of concurrent users.
Though I admit that some of Microsoft solutions are not best suited for underpowered large systems, the other are fare beyond Unix (Linux) solutions. It is true that Microsoft solutions are on my opinion more oriented towards final user and Unix like solutions (including Linux, zOS, … and other) seek technical perfection and sometimes performance, but you can meet both world in real life. In terms of large systems IBM proprietary zOS is also often used… However, you cannot explicitly determine which technology is best for a large system. Many like Windows because of it offers a relatively simple administration support, requireing less stuff.
However, I know many Linux enhusiasts that share your opinion. Unfortunately, they live in “dark ages”. The reality is different… In fact, even the lack of Linux supoort for my FW may turn some away from using Linux… Anyway, I’ll do my best to provide it in the future should I find enough time to do it. I’ll test the Linux version on Android which is also a kind of Linux… Besides, there are many excelent HW manufaturers that do not offer Linux support… Ask yourself why?
I am sorry, but I don’t understand why on Earth one should think like this… Buy two new PIC18F24J50! They are cheaper than just one PIC18F2550 and they have enhanced architecture… They can do more for 2x less money and you don’t have to make any modifications to the K8055N-2 board… Any way I can assure you that I use 4 K8055 boards for home automation (2x K8055-1 and 2x K8055N-2) and none uses Velleman original FW, anymore. All have vastly extended functionality… Starting with 10-bit A/D, enhanced D/A, an option to connect up to 127 boards, or as much as a PC supports (not just 4), enhanced frequency generation …
I’m asking you again: “Do you need my source code?”. In real life a very few users actually need it. Most of them just copy it and they never modify it. Most of them just eagerly wait for new versions.