Modem interfaces (voice,data,...)


AndiTheBest

Active Member
Joined
Aug 29, 2011
Messages
85
Age
37
Location
Ried im Innkreis, Austria
Hi,

as I think about developing a phone application, I have checked the connection between modem and cpu. But there are a lot of questions...
In the schematics of the pyra mainboard are some signals i dont find in the PLS8 datasheet. (http://www.seapraha.cz/download/pls8-e_hd_v01000a_tcm216-155302.pdf).

For example: MODEM-WAKEUP/21.1C -> is this a interrupt from the modem to the cpu to notify for a incoming call?
I also cant see the PCM interface to the CPU, is it the wrong datasheet?

How will voice in a call transferred from/to the modem, will a usb sink/source appear when the driver is loaded?

BT-UART-TX / MODEM-RX -> I think these are used for modem AT commands (SMS, dial,...), but only when bluetooth is disabled?
For connecting to 4g internet, i think a virtual com-port usb device is used to get high bandwidth.

I'm not sure if i should use an existing backend, or begin from scratch.
 
Thank you! Are you wanting to develop only a dialer, or will it contain SMS functionality as well?
 
FWIW, I think the label MODEM-WAKEUP/21.1C is a connector label, using a convention only necessarily maintained within this one schematic. The actual label on the chip is called simply WAKEUP, but I'll agree that I can't find that in the linked gemalto doc either.
 
Thank you! Are you wanting to develop only a dialer, or will it contain SMS functionality as well?

I have planned to implement these tabs, changeable with the shoulder buttons (like on this nice pnd store on the pandora):
Call | Dial | Call list | Contacts | SMS | Whatsapp | Whatsapp web | Settings

The stuff i dont know if i will be able to integrate is whatsapp(Yowsup) and google contacts sync(import no problem, but sync?), the rest should be straightforward.
 
The stuff i dont know if i will be able to integrate is whatsapp(Yowsup) and google contacts sync(import no problem, but sync?), the rest should be straightforward.
For contact sync maybe OwnCloud / NextCloud could be interesting too : it uses CalDav and WebDav for contacts, agenda and list sync. And you can create a free account on Framasoft's instance Framagenda for example, which is free in both ways (as in free beer and free speech) ; an extra way of getting out of Google's hands :-D

Edit : anyway this is very good news you are planning to work on that ! I am not sure I will be able to help more than trying beta versions and logging bugs, but you can count on me for that
 
Wonderful !!! :=)))

You talk about PLS8, do you want to handle low level APIs ?
Some here have talked about reusing existing middlewares (FSO / oFono)
and even a Replicant port has been mentioned IIRC.

Do you plan to implement some kind of customizable behavior for incoming calls ?
(choose ringtone / light LED / vibrate / auto hang up silently / launch a script to answer ...)

My interest in this peculiar functionality is inversely proportional to my telephony skills ...
 
I have planned to implement these tabs, changeable with the shoulder buttons (like on this nice pnd store on the pandora):
Call | Dial | Call list | Contacts | SMS | Whatsapp | Whatsapp web | Settings

The stuff i dont know if i will be able to integrate is whatsapp(Yowsup) and google contacts sync(import no problem, but sync?), the rest should be straightforward.
If I may be so bold as to make a request, please allow it to read and write contacts from the SIM card? There is modem AT commands for that.
[doublepost=1488989307,1488989124][/doublepost]I would recommend dropping Whatsapp support, and porting http://rambox.pro for WhatsApp, etc.
 
This sounds awesome. Whatever functionality we can get will be greatly appreciated.

Have you asked @bzar if he would be willing to help with the UI? PNDManager is fantastic in terms of being tailored to the Pandora controls. It would be great to see his work used in future projects.
 
Have you asked @bzar if he would be willing to help with the UI? PNDManager is fantastic in terms of being tailored to the Pandora controls. It would be great to see his work used in future projects.

Making nice QtQuick UIs is usually quite straightforward. I'll gladly help by answering questions and providing some variable level of support, but getting into a new project that requires unknown amounts of maintenance time in the future is not an option for me at the moment. If there was another UI dev to take the burden once things work, I could maybe participate in getting a UI up and running. I'll gladly accept a new maintainer for PNDManager as well, while we're at it ;)
 
For contact sync maybe OwnCloud / NextCloud could be interesting too : it uses CalDav and WebDav for contacts, agenda and list sync. And you can create a free account on Framasoft's instance Framagenda for example, which is free in both ways (as in free beer and free speech) ; an extra way of getting out of Google's hands :-D
Can i also sync this with my android phone? First i will create an csv-import, then look for a sync function. When i remember back to my N900 days, there never was a sync function which was working good, and worked without problems, so i will look forward how complicated it is.

Have you also thought about how to pop up for incoming calls and texts? Full Phone and Daemon mode?
My first intention is to minimize the app in system tray. On a call/text it just pops up a little window. I never have written a linux daemon software that talks to a gui, but I will try to abstract the software architecture highly, so divide it to daemon/gui would also be possible. Is the daemon/gui communication normally handled with d-bus?

You talk about PLS8, do you want to handle low level APIs ?
Some here have talked about reusing existing middlewares (FSO / oFono)
and even a Replicant port has been mentioned IIRC.
The low level API is actually the serial port with AT commands. I dont think its much work to get the basic functionality. Next week i will get source code for work, from an company which has written a QtQuick software that handles modem communication on a BeagleBoneBlack. I will see how much work it is.
I have checked the FSO and it seems to be a huge API abstraction. fso-gsmd would be a small program, but i didn't get it working because of a missing modem_singleline.so library which seems device-dependent.

Do you plan to implement some kind of customizable behavior for incoming calls ?
(choose ringtone / light LED / vibrate / auto hang up silently / launch a script to answer ...)
Yeah, when i get the interface to this stuff ;)

If I may be so bold as to make a request, please allow it to read and write contacts from the SIM card? There is modem AT commands for that.
[doublepost=1488989307,1488989124][/doublepost]I would recommend dropping Whatsapp support, and porting http://rambox.pro for WhatsApp, etc.
SIM-contact access should be possible. Rambox seems to be the same like Franz(meetfranz.com), I huge memory eating Webinterface. I have 5 accounts in Franz, and after 2 weeks running, it took ~4GB of ram...
I would love to have native WhatsApp support, Rambox only support WhatsApp web i think.

Making nice QtQuick UIs is usually quite straightforward. I'll gladly help by answering questions and providing some variable level of support, but getting into a new project that requires unknown amounts of maintenance time in the future is not an option for me at the moment. If there was another UI dev to take the burden once things work, I could maybe participate in getting a UI up and running. I'll gladly accept a new maintainer for PNDManager as well, while we're at it ;)
Ok, I grew up with QWidget and the AnimationFramework ;) Fancy GUI development should be no problem but could i ask you for the QtCreator setup if a have problems there? How did you manage to run Qt stuff on the pandora?
 
Ok, I grew up with QWidget and the AnimationFramework ;) Fancy GUI development should be no problem but could i ask you for the QtCreator setup if a have problems there? How did you manage to run Qt stuff on the pandora?
I mainly do direct QML editing with QtCreator, so no special setup there if that's what you mean. I don't run it on-device from QtCreator, but run it on my desktop to try stuff out.

To run it on a pandora I bundle necessary shared Qt libraries into the PND and a run script adds the PND-local directory for loading them.
For building I use a dchrt dev environment on pandora, compile with distcc to leverage my desktop's CPU and manage the whole thing with a makepnd recipe. I wish it was simpler, I have high hopes for pyra regarding this :D
 
Can i also sync this with my android phone? First i will create an csv-import, then look for a sync function. When i remember back to my N900 days, there never was a sync function which was working good, and worked without problems, so i will look forward how complicated it is.

Yup, just install DavDroid (you can find it on GooglePlay or, better, F-Droid).

You can also import a csv to Own/Next Clowd too. There are very good chances libraries exist for syncing with CardDav, it is a very common standard.
 
The low level API is actually the serial port with AT commands. I dont think its much work to get the basic functionality.

Excellent, the simpliest, the fastest.

Yeah, when i get the interface to this stuff ;)

You know what ? I'm happy. :=)))
I can now hope to join the party an add the autoanswerer I dream about.

I'm lame with UIs, could you tell me which language you are going to use with Qt ?

EDIT: s/simplier/simpliest/
 
Last edited:
I'm lame with UIs, could you tell me which language you are going to use with Qt
My personal recommendation would be C++14 at the moment, since C++ is Qt's native language and 14 is quite available and stable with many nice things added since C++11 (which I'd consider the absolute minimum).

For the UI there of course would have to be small amounts of JavaScript if QML is used, but just for interaction scripting.
 
What are the benefits from C++14 about C++11?
What i know is that the Qt lib already had functions and containers that you just got when using the Boost library, and the stuff from Boost are now mostly integrated in C++11.
Anyway, i normally use Qt and C++, but dont force a new version of C++ because i mostly use the Qt containers/functions/classes.
 
Pidgin has telegram support apparently (although it may be a little bit beta still - I've not checked). I don't really see the point of having IP-based stuff in this app myself.
 
Back
Top