This article describe little bit more in detail the plan for the keyboard to be used for the MMCEdu project.
Translate
Monday, December 24, 2018
Sunday, December 16, 2018
Timer for UV box - final build - Hardware
Time to close also this project.
With the help of Roberto we did end up with a PCB, let's put it together.
This article describes some work on the hardware side.
With the help of Roberto we did end up with a PCB, let's put it together.
This article describes some work on the hardware side.
Saturday, December 15, 2018
MMCedu project - keyboard #1
This article is part of the MMCedu project (Magnetic Memory Core Education) and discusses about a keyboard to interact with the Magnetic Memory Core project.
Sunday, December 9, 2018
Digital Encoder breakout
On many projects I use a digital encoder as input device (to set values, select, etc.).
In order to have more flexibility to put the encoder on panels, I usually manually wire it on a prototype board, every single time.
So it is time to have a standard way to deal with this.
In order to have more flexibility to put the encoder on panels, I usually manually wire it on a prototype board, every single time.
So it is time to have a standard way to deal with this.
Saturday, December 8, 2018
Infinity Disney base
Information about the Disney Infinity base.
Going around antique mall I bough few bases.
I'm collecting here some information, would be nice to be able to use the NFC reader for other purposes.
Going around antique mall I bough few bases.
I'm collecting here some information, would be nice to be able to use the NFC reader for other purposes.
Sunday, November 25, 2018
Saturday, November 24, 2018
MMCedu project - Introduction
Time ago I wrote an article (Toroid tale) about my early experience in programming.
Electronics always fascinates me, especially digging deep about how things works, so ... here we go with some magnetic core explanations/experimentation and a retro-magnetic core building project, for fun and nostalgia lane.
Electronics always fascinates me, especially digging deep about how things works, so ... here we go with some magnetic core explanations/experimentation and a retro-magnetic core building project, for fun and nostalgia lane.
Sunday, November 11, 2018
Saturday, October 6, 2018
Teirmilab - final building
Ok, time to close the project.
This article will be updated to track the progress.
This article will be updated to track the progress.
Sunday, September 23, 2018
tRPOf with Trinket - updated
The main difference from previous ones, is that this project uses a standard Adafruit Trinket as microcontroller instead the MSP430 in order to use "off the shelf" components with less effort of programming and a LiPo charger/USB DC/DC converter..
Sunday, September 9, 2018
Texas Instrument TI Programmer
Often during the week ends we love to visit antique malls and similar places, looking for something to adapt to other uses or just strange things.
Sometimes instead I found things that .. well, something I can not just leave there.
Sometimes instead I found things that .. well, something I can not just leave there.
Sunday, September 2, 2018
DIY fume extractor
A quick DIY fume extractor.
Breathing fumes when soldering is not exactly an healthy activity.
You can buy a fume extractor but often they are quite expensive.
Breathing fumes when soldering is not exactly an healthy activity.
You can buy a fume extractor but often they are quite expensive.
Sunday, August 19, 2018
Repairing a GoldStar microwave
My old microwave started to have a problem lately.
Sometime when turning ON the oven, only the light works, the blower and the magnetron remains turned OFF.
Sometime when turning ON the oven, only the light works, the blower and the magnetron remains turned OFF.
Saturday, August 18, 2018
VPN - generate a new user key
This is just a quick way to remember how to generate a user key for openvpn.
Saturday, August 11, 2018
Controlling a WS2812B LED
Just some brief notes about LED strips based on the WS2812B (for example this one).
The same LED is also used in the Adafruit circular ring LED (here a datasheet from Adafruit)
The same LED is also used in the Adafruit circular ring LED (here a datasheet from Adafruit)
Sunday, August 5, 2018
Technology changes
The market for embedded development is more and more complex and fast these days.
Every day there is some new platform popping up.
Is quite difficult to stay updated unless you have to do that for work.
Every day there is some new platform popping up.
Is quite difficult to stay updated unless you have to do that for work.
Saturday, August 4, 2018
A toroid tale
I'm a software developer, mainly in firmware for many years and still today I really love working on small board in C or assembly. I consider that a "real" programmer job.
Going down on the memory lane (pun intended :) ) it can explains maybe why.
Going down on the memory lane (pun intended :) ) it can explains maybe why.
Sunday, July 22, 2018
Sunday, July 15, 2018
Huzzah32 - Thermal camera
I always wanted to have a thermal camera to play around.
yeah yeah, I really don't NEED one, but it can be quite useful sometime and, well, I just like to have another tool.
If you are reading this blog I'm sure you can relate with me on that :)
yeah yeah, I really don't NEED one, but it can be quite useful sometime and, well, I just like to have another tool.
If you are reading this blog I'm sure you can relate with me on that :)
MSP430f169 LCD development environment
Until now I always developed code for the Olimex board MSP430F169 LCD using an open source compiler (GNU) and using a parallel port->JTAG adapter to program the board and do some debug.
That requires a computer with parallel port.
The goal of this article is to see if is possible to use an USB->JTAG adapter or using the Spy-by-wire connection.
Android - proprietary ASN.1 encoder
The purpose of the ASN.1 coding specification described here is to have a way to create ASN.1 data sequence in a program without having an ASN.1 compiler capable to read a formal ASN.1 notation.
There are a lot of libraries out there with many different ways to handle the coding/decoding of an ASN.1 message. I needed something simple, cheap and fast so I created this system.
I originally created this years ago in C and now ported in Java for Android.
There are a lot of libraries out there with many different ways to handle the coding/decoding of an ASN.1 message. I needed something simple, cheap and fast so I created this system.
I originally created this years ago in C and now ported in Java for Android.
Saturday, July 14, 2018
MSP430 - Reading a digital encoder
Already exists a lot of documentation about this, but just for fun, I started from the scratch and did some analysis.
I did find very interesting issues about this "common" component.
I did find very interesting issues about this "common" component.
Developer tips - Visual Studio - Apple iOS erase certificates
Disclaimer !
This article is based on tests/research/finding at April 2018. Things can change.
Sometime is better to clean up the mess of certificates used by Xamarin for Apple iOS development.
Here what to do based on my experience.
Normally the certificates are generated/maintained on the Apple Developer website.
This article is based on tests/research/finding at April 2018. Things can change.
Sometime is better to clean up the mess of certificates used by Xamarin for Apple iOS development.
Here what to do based on my experience.
Normally the certificates are generated/maintained on the Apple Developer website.
Saturday, July 7, 2018
Designing an HVAC monitoring system
Ideas - things to do
The HVAC (Heating, Ventilation and Air Conditioning) system, as many other systems, has the bad habit to broke down when most needed.The idea is to design a monitoring system for HVAC capable to predict problems, with the less possible impact on the system, meaning that the monitoring system should be as much as possible independent from the HVAC itself.
Sunday, July 1, 2018
NiRis - support for a second prototype
In order to better work on the development, is always a good thing to have at least another prototype ready, in order to experiment and do more tests.
Some ideas about how to recycle "stuff" you can find in antique mall for example.
Sunday, June 24, 2018
ASN.1 - what is it ?
ASN.1 stands for Abstract Syntax Notation One, a standard protocol from ITU, is heavily used in telecommunication, for example in ISDN.
There is a lot of literature about ASN.1, books, white papers, online tools, etc. so I'm not duplicating here what already exists "out there" but I just sum up few things I think are interesting.
There is a lot of literature about ASN.1, books, white papers, online tools, etc. so I'm not duplicating here what already exists "out there" but I just sum up few things I think are interesting.
Saturday, June 16, 2018
Set Raspberry Pi as Bluetooth slave
Some notes about how to connect a Raspberry Pi 3 via Bluetooth to an Android phone.
These notes shows some suggestions about how to connect an Android phone to the Raspberry set as Bluetooth slave.
Android side I'm using an off the shelf app.
These notes shows some suggestions about how to connect an Android phone to the Raspberry set as Bluetooth slave.
Android side I'm using an off the shelf app.
Saturday, June 9, 2018
Artifactory - what is it ?
Today many projects are based on different libraries and code.
Usually the code on a project is stored in some repository, like github, but usually a lot of stuff is not stored in the github for a project.
For example, in order to create your project you need to have a compiler, libraries, modules, tools, etc.
Most of them are usually available on the net but ... but there are some limits.
What happens if you want to build your project in the future ?
How can you be sure to be able to find what "now" is easily available ?
Usually the code on a project is stored in some repository, like github, but usually a lot of stuff is not stored in the github for a project.
For example, in order to create your project you need to have a compiler, libraries, modules, tools, etc.
Most of them are usually available on the net but ... but there are some limits.
What happens if you want to build your project in the future ?
How can you be sure to be able to find what "now" is easily available ?
Monday, June 4, 2018
Good bye GitHub
Just a quick note.
Because the acquisition of GitHub from Microsoft, I decided to abandon it.
Gradually I'll migrate all my projects on Bitbucket and eventually, time permitting, I'll create my git repository with GitLab as final destination, but for nowon Bitbucket will be my repository management.
So for a while my public repositories will still be accessible on Github, however they will not be updated and they will be eventually removed when they will be on Bitbucket.
New projects will be on Bitbucket.
Because the acquisition of GitHub from Microsoft, I decided to abandon it.
Gradually I'll migrate all my projects on Bitbucket and eventually, time permitting, I'll create my git repository with GitLab as final destination, but for nowon Bitbucket will be my repository management.
So for a while my public repositories will still be accessible on Github, however they will not be updated and they will be eventually removed when they will be on Bitbucket.
New projects will be on Bitbucket.
Sunday, June 3, 2018
Backup/Sync system
Saturday, May 19, 2018
MSP430 - reading a TSL2561
The TSL2561 is a chipset capable to read IR and visible light intensity and is the chipset used in the iRis project.
This article give some suggestions about how to use this sensor.
This article give some suggestions about how to use this sensor.
Saturday, May 12, 2018
Using PiBackery - my FAQ
April 2019 - Update !
PiBackery is a nice tool to prepare SD cards for the Raspberry Pi.
One of the annoying problems to work with Raspberry in embedded world, is the need to have it connected to a wired network, monitor HDMI and keyboard for the first initialization.
PiBackery is a nice tool to prepare SD cards for the Raspberry Pi.
One of the annoying problems to work with Raspberry in embedded world, is the need to have it connected to a wired network, monitor HDMI and keyboard for the first initialization.
Developer tips - Android studio
Bluetooth RFCOMM connection problem
If you like me are trying to set up a simple Bluetooth RFCOMM connection and you end up having connection errors, especially : read failed, socket might closed or timeout, read ret: -1is possible the problem lies in a changed default assignment for the socket.
NiRis - the New iRis - the plan
Like the iRis project I started years ago.
Even if I never posted recent articles about iRis, I did reach a nice stage of development, involving 3D printing design, electronic development and firmware development on different platforms.
Saturday, May 5, 2018
iRis project - mechanical support
The support for the mechanical iris and the servomotor that control it, is important as the electronics.
After many experiments, it was 3D printed a support using Tinkercad.
After many experiments, it was 3D printed a support using Tinkercad.
Sunday, April 22, 2018
Raspbian - prepare SD card
April 2019 - Update !
I already did in the past an article about a SD card preparation for Raspberry Pi.
The idea behind this article is to find a way to simplify and speeding up to prepare an image for a Raspberry Pi with Raspbian and beside, things change constantly.
Here what we need to do now to prepare a Raspbian image (no NOOBS !!!)
I already did in the past an article about a SD card preparation for Raspberry Pi.
The idea behind this article is to find a way to simplify and speeding up to prepare an image for a Raspberry Pi with Raspbian and beside, things change constantly.
Here what we need to do now to prepare a Raspbian image (no NOOBS !!!)
Saturday, April 14, 2018
Developer tips - Visual Studio - plist files
Disclaimer !
This article is based on tests/research/finding at April 2018. Things can change.
A project in Visual Studio that involve Apple iOS has some configurations saved in files ending with the .plist suffix.
These files are Property List files.
These files, combined with the project setting, contribute to set up the application configuration that need to match the content of the Provisioning profile.
However the files "per se" contains only few XML lines.
This article is based on tests/research/finding at April 2018. Things can change.
A project in Visual Studio that involve Apple iOS has some configurations saved in files ending with the .plist suffix.
These files are Property List files.
These files, combined with the project setting, contribute to set up the application configuration that need to match the content of the Provisioning profile.
However the files "per se" contains only few XML lines.
Developer tips - Visual Studio - Apple iOS development types of build
Disclaimer !
This article is based on tests/research/finding at April 2018. Things can change.
Apple iOS can be a very complicated environment, especially if Xamarin is involved (Visual Studio on Mac).
This article is part of a small collection of notes about some things that usually annoy the developers :) (me)
Ok ok, these are just some notes for me to remember some annoying things
This article is based on tests/research/finding at April 2018. Things can change.
Apple iOS can be a very complicated environment, especially if Xamarin is involved (Visual Studio on Mac).
This article is part of a small collection of notes about some things that usually annoy the developers :) (me)
Ok ok, these are just some notes for me to remember some annoying things
Developer tips - Visual Studio - Apple iOS certificates
Disclaimer !
This article is based on tests/research/finding at April 2018. Things can change.
In order to develop code for iOS (or also Mac) you need to have certificates and provisioning profiles from Apple.
In other words the application will be able to be installed and run on the device ONLY if Apple recognize the certificate.
The certificates are so a very intimate and integral part of the development and preparation of an app for iOS.
This article is based on tests/research/finding at April 2018. Things can change.
In order to develop code for iOS (or also Mac) you need to have certificates and provisioning profiles from Apple.
In other words the application will be able to be installed and run on the device ONLY if Apple recognize the certificate.
The certificates are so a very intimate and integral part of the development and preparation of an app for iOS.
Sunday, April 8, 2018
Enable passwordless access to a machine
DEBRH or ... Don't Expect Big Revelations Here :)
Just a quick note that maybe can be useful to somebody.
Here the scenario.
We have two Linux machines in the network. A user from the machine A (call it Auser) need to access some data on the machine B, under a specific user (call it Buser).
So, we can simply use ssh for that.
Raspberry Pi - broken micro SD card reader
One of the Raspberry Pi I have around has now a broken micro SD card reader.
The micro SD card is not retained anymore, thus the options are :
a) trash away the Raspberry and buy a new one
b) try to repair it
The micro SD card is not retained anymore, thus the options are :
a) trash away the Raspberry and buy a new one
b) try to repair it
Sunday, April 1, 2018
A personal CI system - building C program
Now we do have our CI system, how can we use it ?
If you have some code to compile with GCC, is possible to create a job in Jenkins to monitor it (on github) and every time the code is committed, have it updated on the server and compiled, notifying errors to the developer.
Sunday, March 25, 2018
Monitoring a Mac CPU
Recently I'm using some very CPU intensive programs on the mac, like Xamarin (Visual Studio), Android Studio and test code.
Sometime, when I'm running a lot of this stuff, the Mac is clearly slowed down and can be useful to know what is going on.
So I did look around for some monitor application, possibly capable to show what is going on on the tray.
I did found many apps but I wanted something small and possible free :)
I did found MenuMeters, a very small and nice app, but unfortunately is not supported since 2014 and thus is not working on the latest releases of Mac OS.
However somebody did write a patch to allow this utility to run also on newer systems (at least for now, it seems Apple is locking down even more the systems to prevent this kind of third party utility to run).
Click here to find the patch for the MenuMeters app.
Sometime, when I'm running a lot of this stuff, the Mac is clearly slowed down and can be useful to know what is going on.
So I did look around for some monitor application, possibly capable to show what is going on on the tray.
I did found many apps but I wanted something small and possible free :)
I did found MenuMeters, a very small and nice app, but unfortunately is not supported since 2014 and thus is not working on the latest releases of Mac OS.
However somebody did write a patch to allow this utility to run also on newer systems (at least for now, it seems Apple is locking down even more the systems to prevent this kind of third party utility to run).
Click here to find the patch for the MenuMeters app.
Saturday, March 24, 2018
Drobo - monitoring it
Now that the Drobo unit is on the final place, connected to the server, I did set up a monitor activity of it.
The server, other than handle the backup operations, also monitor that everything is OK, Drobo included.
Friday, March 23, 2018
Repairing a zapper
In the springtime, summer and fall, there is an appliance that works almost 24 hours a day, at least in my garage.
A zapper.
This one, a PestiTech, did work all the last summer and fall.
Really, in Arkansas is not an option to have a zapper to limit the "things" that can fly and bite you !
The garage is the main entry for these pests, so a good zapper is really the first protection.
Now it was time to restore it and ... of course dead !
A zapper.
This one, a PestiTech, did work all the last summer and fall.
Really, in Arkansas is not an option to have a zapper to limit the "things" that can fly and bite you !
The garage is the main entry for these pests, so a good zapper is really the first protection.
Now it was time to restore it and ... of course dead !
Saturday, March 17, 2018
Why sometime ...
... simple things does not work or just make you crazy losing hours and hours if not days ?
Who work in the magical world of the software development, especially embedded or firmware, sometime find himself in weird situation, when something incredibly simple and trivial, simply does not work.
Why ?
Who work in the magical world of the software development, especially embedded or firmware, sometime find himself in weird situation, when something incredibly simple and trivial, simply does not work.
Why ?
Saturday, March 10, 2018
magclock
Years ago I did a very quick project with a MSP430F2013 capable to generate a signal to drive a magnetic clock like the one below
(the video does not represent the actual clock, just an example).
The code, few lines in C, is in the magclock repo on my github account.
The idea is quite simple.
Three coils are controlled by the MSP430 in a sequence, like the brushless hard disk motors, same principle but much much slower.
Basically the system is designed to move a dented wheel one notch every second.
That wheel then controls the other gears of the clock.
The only thing is to have an accurate timing, so better to use a crystal on the MSP430.
This article give some other information about the MSP430 clock capabilities and settings.
(the video does not represent the actual clock, just an example).
The code, few lines in C, is in the magclock repo on my github account.
The idea is quite simple.
Three coils are controlled by the MSP430 in a sequence, like the brushless hard disk motors, same principle but much much slower.
Basically the system is designed to move a dented wheel one notch every second.
That wheel then controls the other gears of the clock.
The only thing is to have an accurate timing, so better to use a crystal on the MSP430.
This article give some other information about the MSP430 clock capabilities and settings.
Friday, March 9, 2018
Update firmware of a GXV3000
The GXV3000 is an old phone from Grandstream, not anymore in production and supported, but still available on Ebay at a decent price.
It is possible to even find in Ebay "new" GXV3000, i.e. never used before, like one I bought recently as a replacement for a broken one.
So I had to go back on memory lane in order to update the firmware in it to the last available one (high recommended in order to fix the SPIT problem)
Here what is needed to do the job.
Friday, March 2, 2018
A personal CI system
In this article I'm describing how to set up and configure a basic CI (Continuos Integration) system that can be used for many things, based on an open source program called Jenkins.
Of course, for my projects to set up a CI to build them is just little bit overshooting, but surely is interesting and fun.
Thursday, March 1, 2018
Freddy the cat - memory
Once in a while I put something not technical related on my blog.
Today is one of these days.
Little bit more than one year ago, our cat, Freddy the cat, left us.
Still missing him.
Recently Ladyada from Adafruit, a shop where sometime I buy electronic stuff, communicated the death of her cat, Mosfet.
I remembered Freddy.
So ... dear Freddy, I'm posting on my blog a small memory of you.
Today is one of these days.
Little bit more than one year ago, our cat, Freddy the cat, left us.
Still missing him.
Recently Ladyada from Adafruit, a shop where sometime I buy electronic stuff, communicated the death of her cat, Mosfet.
I remembered Freddy.
So ... dear Freddy, I'm posting on my blog a small memory of you.
Saturday, February 24, 2018
Playing with Drobo (updated !)
I did buy a Drobo for my server.
Here a kind of review and my discoveries.
Of course the main purpose is to connect Drobo to my server, so I'm planning to use it only for Linux.
The goal is to end up with at least a couple of Terabyte of space, possibly more in the future.
Friday, February 9, 2018
Compile ZeroMQ as static library
On some environment can be useful to have ZeroMq as static library rather than a dynamic one.
In order to create a static ZeroMQ library, follow these steps.
To do so, under ubuntu :
On some systems is better to run :
sudo ldconfig to update the system library cache, otherwise it is requested a reboot of the machine.
In order to create a static ZeroMQ library, follow these steps.
To do so, under ubuntu :
- sudo apt-get install build-essential
- sudo apt-get install libtool
- sudo apt-get install automake
- sudo apt-get install autoconf
- sudo apt-get install uuid-dev
- Download the tarball for the libsodium from the Libsodium website
- Extract the tarball in a directory
- go in the directory
- ./configure --enable-static --disable-shared
- make
- sudo make install
- Download the tarball from the ZeroMQ website
- extract the tarball in a directory
- go in the directory
- ./configure --enable-static --disable-shared
- make
- sudo make install
On some systems is better to run :
sudo ldconfig to update the system library cache, otherwise it is requested a reboot of the machine.
Install Czmq
In order to bind the library with the C language is necessary to compile the library Czmq- git clone https://github.com/zeromq/czmq
- cd czmq
- ./autogen.sh
- ./configure --enable-static --disable-shared
- make
- sudo make install
- sudo ldconfig
5V Solar Power Supply - testing results
As described in the 5V Solar Power Supply - testing system article, here some results after running tests for a while.
First of all, I did connected the data logger to the battery terminal and let it run for few days, with the load connected, drawing around 350mA.
Here a graph, starting with the battery charged.
Once the battery was depleted, with the load connected there is no way to have it recharged enough.
The weather was good at least for the last two days, so plenty of sun, but even with the 3W solar panel the battery was unable to be charged enough.
First of all, I did connected the data logger to the battery terminal and let it run for few days, with the load connected, drawing around 350mA.
Here a graph, starting with the battery charged.
Once the battery was depleted, with the load connected there is no way to have it recharged enough.
The weather was good at least for the last two days, so plenty of sun, but even with the 3W solar panel the battery was unable to be charged enough.
This indicates anyway the need to disconnect the DC/DC converter in order to have the battery charged.
Developer tips - CentOS 7 notes
Just a post with some notes to remember what to do when encountering some recurring problems after installing CentOS on a vm for tests.
The scenario : installation CentOS 7 64 bit on VirtualBox (on a Mac)
The scenario : installation CentOS 7 64 bit on VirtualBox (on a Mac)
- yum update
After installation yum update is not working
Yum returns an error like : "Cannot find a valid baseurl for repo".
Could be a connection problem and a configuration problem.
Let try to issue the command : sudo dhclient
If it solve the problem (i.e. if Yum works as expected) edit the file /etc/sysconfig/network-scripts/ifcfg-enp0s3.
Change the line ONBOOT=No in ONBOOT=Yes.
Save.
Reboot
Is possible sudo command will not work (see sudoers below) - Gnome GUI
Installation of the iso (tested on DVD.iso) does not have a GUI.
To install Gnome : - yum update
- yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
- ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
- reboot
- Sudoers
Add the user in the sudoers list.
Assuming to be logged as user, go in the root account using for example ssh. - ssh root@localhost
- If the first time type Yes to the request to add the localhost key.
Then enter the root password - Use the command visudo to edit the sudoers list.
Locate the root and add below the user with the same levels of access - save
Developer tips - loading iOS apps directly
Sometime is quite useful to be able to load an iOS app under development on a phone directly, without passing for the Apple store.
On the latest version of iTune it was removed the possibility to load directly an app.
If you have a Mac with macOS High Sierra Version 10.13.3 it is very possible your iTune will not allow you to load an app directly to an iPhone connected via USB.
On the latest version of iTune it was removed the possibility to load directly an app.
If you have a Mac with macOS High Sierra Version 10.13.3 it is very possible your iTune will not allow you to load an app directly to an iPhone connected via USB.
Developer tips - Visual Studio - workarounds
Ok, let me start with I didn't choose to use Visual Studio !! 😛
But sometime is the pain that choose you.
In my case I'm using Visual Studio 7.4 on a Mac in order to develop apps Android and iOS in C# (old Xamarin).
This article contains some tips I discovered that can be useful if somebody else has the pain to use 'that'.
Of course this article is working in progress, expect updates.
But sometime is the pain that choose you.
In my case I'm using Visual Studio 7.4 on a Mac in order to develop apps Android and iOS in C# (old Xamarin).
This article contains some tips I discovered that can be useful if somebody else has the pain to use 'that'.
Of course this article is working in progress, expect updates.
Sunday, January 21, 2018
SPIT calls on GXV3000 (updated)
SPIT stands for Spam over Internet Telephony.
Out there exists a lot of evil people that do bad things, SPIT is one of this bad things.
It can be very annoying. Here some notes about to get rid of these calls on the Grandstream GXV3000 phones.
Out there exists a lot of evil people that do bad things, SPIT is one of this bad things.
It can be very annoying. Here some notes about to get rid of these calls on the Grandstream GXV3000 phones.
Subscribe to:
Posts (Atom)