Today almost all of the package delivery companies have a web site where it is possible to track their next delivery. I sometimes order several components or electronic devices over internet and each web shop uses a different delivery company so sometimes its hard to follow all the packages. I recently found this web app that is a life changer: https://www.aftership.com
It is compatible with hundreds of delivery companies and allows you to group all ongoing deliveries in a single page!
You also have the Android app so you can follow your packages using your phone. It is simpler then the web app and you can’t login to your web account so you need to enter again your item track numbers. But if you move a lot its worth it. Hope they improve communication between the Android app and the web app soon.
Here you have a nice how to.
Now this is a great idea! https://www.statuspage.io
A status page that you can use in case your web server is down. Completely independent from your web server so your customers can have some output on any issue you’re having.
I used to have a Firefox plugin that enabled me to get back to the previous tab if I clicked again over the selected tab and this was very practical, as I always have lots of tabs and often go back and forth between two tabs. For example, I have the WordPress and the Yahoo mail tabs pinned and while writing a new post I go to my emails tab and back again to my WordPress tab a few times. If you press <ctrl> TAB you can switch to the next (in GUI sequence) tab, and a <ctrl> <shift> TAB does the opposite. This is the default behavior.
But if you change the browser.ctrlTab.previews config parameter to true then the behavior changes and its a new whole world! You get a tab preview while pressing <ctrl> TAB and the order is no longer the GUI sequence order but the history order! So now I have what I want. And this is really a time saver for anybody who likes to open tabs around with things to read and they tend to accumulate over time.
To do this you need to type in the address bar:
At least the first time you do this you’ll have the warning that you can break your Firefox, go ahead and say you’ll be careful :-)
After clicking the “I’ll be careful” button you get the list of config parameters, to quickly find the browser.ctrlTab.previews parameter just type ctrlTab in the Search text box on top of the page. Then double click on the parameters value to make it toggle to true.
And start a new life using your favorite browser!
From this stackoverflow question:
MSVC has very poor support for the C language, they do not support anything past C90. Herb Sutter has already publicly stated this in his blog.
cstdint is supported from MSVC2012.
There is a msinttypes project that fills the absence of stdint.h and inttypes.h in Microsoft Visual Studio.
Boost also provides boost/cstdint.hpp if you do not have it.
Boost library can be very useful but it is also very big so in this post I’m going to show how to compile it from source code and then how to extract one of its modules and include it in your projects source code.
I also have another post where I compiled Boost.
Continue reading “Using boost library on Windows”
I was working with another programmer in the same Automation Studio project that was shared using SVN, and after a new SVN checkout I had this compiler error message:
Error : undefined reference to `FileOpen’
So it looked like someone started using some file handling library, looking around the documentation I realize that it is the FileIO library. The undefined reference means the corresponding binary file was not found by the compiler…
Continue reading “B&R Automation Studio compile error: undefined reference to `FileOpen’”
I recently used a hardware configuration where a B&R X20CP1381 CPU was controlling a couple of async motors using the ACOPOSmicro and a stepper motor using the X20SM1436. I needed a task running at 4ms but the current configuration was set to 10ms. When you add an ACOPOS controller, the CPU system timer configuration changes automatically to EPL/X2X Interface and the POWERLINK interface is selected, in my case it is the IF3 interface. The POWERLINK cycle time is 10ms by default in a new project.
So, in order to change my tasks cycle time, I have to change the POWERLINK cycle time to 4ms, which allows me to set the #1 Task classes timing to 4ms.
All looked fine, I tested the async motors and they were working, but when I tested the stepper motor I had an error, don’t remember its code but it was something related to timing. I opened the X2X (IF6) bus configuration and changed its cycle time also to 4ms. This fixed the problem! I think the reason is that the ncsdcctrl program is in the cyclic #1 tasks group running at 4ms and the X2X bus was running slower. I guess that if I had placed the ncsdcctrl program in a 10ms task it would also fix the issue, as the X2X cycle time is 10ms by default. Ho well, 10 is not a multiple of 4 so I can’t have a 10ms task, that fix wouldn’t work ;-) So probably the only possible solution is to have the POWERLINK, the X2X bus and the ncsdcctrl program all running at 4ms.
I’ve been using B&R Automation Studio 3.0.90 for a few years, but as all IT tools there is always a time when you have to upgrade to the newest version of the software… Well, programmers have to make a living right? Humm… lets not enter into this upgrading subject… :-D
So, as I was saying, I need to start using the new AS 4.1 because some of the new hardware components no longer work with AS 3.0.90 as is the case of the new ACOPOSmulti passive power supply 8B0P0110HW00.000-1.
There are lots of improvements in AS 4.1 but the global feeling is about the same, no steep learning curve ahead to be able to use this new version. That’s a relief.
Continue reading “From B&R Automation Studio 3.0.90 to Automation Studio 4.1”