PSOC 5 Development – Macintosh, DropBox, OneThinx, Old Machine, Ugh!

Here is information from one extraordinary Monday…..

I have two old Macbook Pro 3,1’s. One is a 32 bit, one is a 64 bit Core 2 Duo. The hard drive on the 32 bit failed. I had an old 128gb flash drive so I threw it in there, wanting to use it in the lab as as trash machine. It can record RS232 debug output during heat runs to 350F. It can also use VSCode and do PSOC 5 Compiles (slowly), etc. Stupid me.

The latest version of OSX it can install is 10.11. No problem, VSCode will work on 10.11 according to the Microsoft Website. No, the latest won’t, even though it says it does.

VSCode Crash on “accepted” OS.

It crashes. So, I started going back in history and found that VSCode 1.53 will work. Until it doesn’t. If it ever crashes on 10.11, you have to throw the app into the trash and recover it from the zip file, because it has damaged itself.

OSX 10.11 Fail On Install. No Packages Found.

Well, the install failed. Apple OS installs have a built in timer, and they refuse to install after a certain calendar date, even though the latest OSX will not install on the hardware. The solution is to disconnect the internet, set the date back to the middle of 2017, and you are good. Hint: use the terminal, run the date program: date -u 070101012017. After that the install should work.

I had a battery drain crash, and the flash drive was corrupted, so I redid the install. Note to self, MacBook 3,1 does not handle battery drain to zero on SSD drives well.

OneThinx Has Changed Things

I found that all of the (see previous posts) VSCode instructions worked, except that OneThinx has updated their stuff. Now the PSOC5 download from RolfNoot does not work because the tools folder is now tools_3.0 and the PSOC5 template json files for VSCode point to tools_2.0. I went backwards to a version containing tools_2.0 folder and brought it back to life. Other directories don’t exist, so it is not a simple name change. If you do deep dives, I am sure you can update the tools_3.0 references in the .vscode/*.json files and fix this.

I suspect the tools_3.0 was driven by their need to support the PSoC 6, which in large part abandons the PSoC mentality, crippling their usefulness for the hobby market. PSoC 5, with all of its warts, is still the best processor out there for “weird” applications.

WPForms / Hostinger Broken Now

Hostinger is a good company and their prices are good. I just tried to upload the Previous Version of the Macintosh VSCode directory, and their upload keeps freezing in its tracks. It used to work, but WPForms is now different (recently updated). Not only that, but the user interface on WPForms has changed so much that the things that used to be obvious are now hidden. So for now, no ability to upload updated large files (300 megabyte zip files), and had to re-do some of the options just to allow the upload to take place. Not sure if upload failure is Hostinger or WPForms. Update: is working now.

VSCode Extensions MarketPlace Does Not Support Older Machines Easily

Ignoring the incorrect information on the MS website, I tried getting all of the extensions for making the VSCode with PSOC5 work. egoMobile now only supports the latest version(s) of VSCode in the marketplace. Older files don’t seem to exist. I dug around and found you can get them, indirectly. The easiest way is to search in Google for “vscode-powertools-0.64.2_vsixhub.com.vsix” and download from vsixhub.com. That is the last version that supports VSCode 1.53.

Download Older VSCode

Search in google for “download VSCode 1.53” and it should take you to the download page. Be sure to keep the vscode-darwin.zip file, as 1.53 crashes and you will need to throw away the damaged app and recover from zip. This happens infrequently, but often enough justify the saved file.

Install vsix From File

In the Code GUI for Extensions, click on the Three Dots and install from vsix file. Navigate to the file and load it. You should be good.

Download older CMake

search for cmake for OSX 10.11, and download the cmake for OSX 10.10. It is 3.25, and will work. The latest CMake for Macintosh will not work. Apple’s latest attitude prevents older useful programs from working.

GCC is totally broken, if processor is 32 Bit. Somewhat broken on 64 Bits.

In order to compile under 32 bits, (I was receiving an illegal instruction 4) I had to go to https://developer.arm.com/downloads/-/gnu-rm and search out the download for the 7-2017-q4-major compile kit. Rather than mess with the scripts, etc, I moved the /Applications/VSCode_onethinxPack_macOS/gcc-arm-none-eabi-9-2020-q2-update to _old_ and did a soft link ln -s gcc-arm-none-eabi-7-2017-q4-major to gcc-arm-none-eabi-9-2020-q2-update, and did the same type of thing inside bin, linking the …gcc-9.3.1 to …gcc-7.2.1.

The compile worked, but the cyelftool is immediately giving an illegal instruction 4, because it is on a 32 bit processor. I suspect a wine install using Port (https://www.macports.org) may be in order. Tried that, and wine fails to run on OSX 10.11. This is a dead end for debugging. In order to download MacPorts, I had to install Firefox 78.3.1esr, the last to support OSX10.11 and still work with https:// web sites.

I (recently) received another project for cyelftool, and was able to get it to compile on Monterey. I had to install ninja (I also installed meson), and I had to install libelf, all using macports. Once I did that, I made some softlinks (files and directories to /usr/local/… from /opt/local (which is where macports puts stuff) ) to make the CMakeLists.txt file happy, and was able to get a build that ran.

I installed command line tools for OSX10.11 Xcode 8 on the old mac. I brought the folder over to the older mac, and on a whim tried to see if the application would run. It did! hmm….will update if it works as a build.

Semi-final take on it, we can edit our file(s), we can compile and determine if there are bugs. Linking is still up in the air on OSX 10.11. Debugging is a maybe. Fusion 8.5 may work on it, but there is so little memory available that it is not worth fighting.

Success on build with CyElfTool

To reiterate, using MacPorts, I installed libelf,ninja,meson. Then, I did a soft link in /usr/local for the include and lib directory because cyelflib would not build. The commands were: ln -s /opt/local/include . for include, and ln -s /opt/local/lib . for the library, while in the /usr/local directory.

I then configured the project and built the cyelflib first, then built the cyelftool. Once that was done, I replaced it in my config folder in .vscode (see previous posts on using VSCode for building/debugging PSOC5 on Mac) and was able to get a link. Debugging will be tested and reported at some point in the future. The CyElfTool (which is GPL V2) zip file is here (unzip and configure in VSCode) (URL has been shortened): CyElfTool-1.0.1.8.zip

RS232 Debug Issues with Laptop

Hooking the laptop up to RS232 fails when the laptop is hooked to the Wall Wart. The problem is 34 VAC leakage through the old Apple Wall Charger. I seem to remember a lawsuit about something like that. So I have to run from battery while monitoring.

If I put more work into this laptop, it will be with Ubuntu as the main OS. There is too little memory for anything else.

I hope my issues help you make some good decisions.

On to more problems!

DropBox

Dropbox decided that it would no longer support older machines. Period. They also *automatically* *updated* our Dropbox App, and then it stopped operating because the older machine was no longer supported. Some files disappeared at the same time. Dropbox is not on my happy list.

It also happens the lab junk machine is too old to use DropBox to allow sync on development files. Hmm. Went looking. Tried pCloud. The free version is good enough for what little use I need it for. It works on OSX 10.11.

PCloud

PCloud is a strong possibility. However, its main problem is that it does not carry the executable information with a file during sync. Files do show up, but cannot be executed, unlike Dropbox. Ugh. Extra pain every time.

Server Crash During Upgrade, Found Out Today

I had to upgrade the server over the weekend to allow Dropbox to work with it. (We do offsite backup for certain files only using separate dropbox account.) Ugh, again. The OSX hard drive crashed during the upgrade. Not unexpected, it had been running since 2014. Went to backup. Now ironing those issues out with the backup server becoming the main server. It is amazing how many little things are missed when creating the backup. You fight different alligators for backup servers versus main servers.

Microsoft Gets Something Right

I do not like Microsoft. However, they do have one good attitude: Keep older programs working.

It makes sense, because why replace a computer or OS with a new one when it causes your programs stop working? Apple has no clue regarding this. In addition, Air Gap machines usually have no problem with malware.

Apple’s Downfall

Because Apple has no clue, we have gone other directions here when replacing machines. These directions put NO money in Apple’s pocket. It is a lose-lose proposition for Apple. Their new-old repeat attitude nearly killed Apple in its early years, but Jobs came back and fixed that problem after introducing the Macintosh. (Which was new. However, older machines were still supported.)

Once Jobs died, Apple lost its understanding of a GUI interface, and understanding about supporting older machines running their code. They also became so heavily dependent upon the CCP that they had to censor products sold in the CCP environment.

The only saving grace today is VMWare, OpenBox (free), and Parallels. It allows you to wind the OS clock back.

Even so, Apple’s latest moves show them going into a similar direction that nearly killed the company several decades ago. I don’t expect them to survive in the long term, unless a new visionary like Jobs comes back.

There have been no “new” products from them since Jobs died, except maybe the Apple Watch. In addition, their “refreshed” products caused them to abandon supporting older machines, and pissed off some of their customer base.

I have seen almost no innovation within the company after Jobs. Everyone hated working for Jobs, but they loved the results. He kept banging on things until something clicked with the customer base. I do not see that level of risk taking at the current company, nor an example of the innovation gene.

Enjoy!

One Comment

Add a Comment

Your email address will not be published. Required fields are marked *