Posts: 3,025
Threads: 63
Joined: Mar 2016
Reputation:
284
2019-09-03, 04:04 PM
(This post was last modified: 2019-09-03, 04:12 PM by Sailoog.)
As you know OpenPlotter 2 has a complete new system. Now there is a main app to install and uninstall multiple apps in charge of the different features. Some existing apps probably will fit some requirements of your board. For the special features of your board a dedicated app could be done. I am going to publish this week a template to make really easy apps development for openplotter without big python skills.
Ok, so let's summarize where we are and what should be done in software side for your board.
- MCP2515 (NMEA 2000): The "openplotter-can" app of openplotter 2 can deal with this out of the box. Since Moitessier HAT is connected to SPI0 and your board to SP1, it should not be problems.
- SC16IS752 (NMEA 0183): This should be added to your app.
- DS2482 (1W temperature sensors ds18b20 by I2C): This should be added to your app.
- MP1593DN (power shutdown): this feature of your board is really interesting. But here we have a problem because you are using GPIO4 (pin 7, aka GCLK) and this is the pin reserved for 1W. We use this pin in the app "openplotter-1w". This would be a duplicate feature but they could coexist. Would it be a problem to change to another free pin? If I am not wrong an script should be done to detect the power down and shutdown the system, no problem.
- MCP23017 (digital GPIO extension): this I2C chip can be added to the list of supported chips in the current "openplotter-12c" app. This app was initially conceived to work just for inputs, so data coming from these inputs are saved into assigned signal k keys. But we could set the first 8 as inputs and the second 8 as outputs and the values of the assigned signal k keys (0/1) could be sent to those outputs. Or even better if you have 2 MCP23017 we can identify them by the address and set one of them as 16 inputs and the other as 16 outputs. Does this make sense?
- MCP3424 (analog GPIO extension): Same than MCP23017 but this would be all inputs. No problem to add this to "openplotter-i2c" app.
- 12C modules of your other boards: This should be added to your app.
- What 8-28V digit. Input means?
Am I missing something else?
I have some questions too:
Do you have plans of making this board open-source and publish schemas? I ask this because long time ago I have the idea of making an open-source board+case for openplotter published in some open-source site like fritzing. That is not the best tool or the most professional to design your board but it is the easiest and the best to change, customize and to have the boards mounted by few euros (is fritzing soldering too?). This way users could adapt their boards to its requirements forking the base project and it could be improved by the community. Your board has some really interesting features that could be added to this Frankenstein open-source openplotter board
Posts: 181
Threads: 4
Joined: May 2018
Reputation:
28
Hi Sailoog.
thank´s for your reply.
I take a look on your template until it´s ready. I hope my Python skills are sufficient ;-)
I have installed OP2 and it looks realy cool with the app character.
-MCP2515: thats cool. All works with openplotter i hope and I have nothing to do :-) .
-SC16is752: I write a script in "MCS OP App" witch writes the dtoverlay in the config.txt? Then it can handle as a normal Uart in your serial app? (It will create ttySC0-ttySC5)
-DS2482: I can load the Kernel driver for the DS2482 in "MCS App". Until its done every Sensor is reachable in:
Code: cd /sys/bus/w1/devices
an can call via:
Code: cat /sys/bus/w1/devices/28-0118306524ff/w1_slave
I think its simular to "your" 1wire usage via GPIO4?
-MP1593: there is no problem. Until now i have not ordered the next boards. I have rerouted to pin 29 (GPIO5) O.K. for you? This pin is also not used from moitessier... Yes, script should be done to detect the power down and shutdown the system.
-MCP23017: At the Moment on my homecontrol devices I seperate the MCP´s via the adresses: HEX 20-23 is for inputs, HEX 24-27 is for outputs. I would like to do this here the same way. I only want to change the geometric design, so the Moduls can mount in the case. So its possible to put 64 inputs and 64 outputs in the case.
-MCP3424: for this I Normaly use HEX 68-6B. So you can use 16 Analog Inputs in the case. The actual boards are for 0-10V and 0-20mA. I can also design for adjustible resistance.
"- 12C modules of your other boards: This should be added to your app." => There are no further moduls. Thats all... ;-) The conector on the board is for the MCP boards. I want to place them via "Spacer" in the case. So everybody can decide for himself how much Inputs and outputs want to use....
"- What 8-28V digit. Input means?" => There are 4 Optocopler on the board wich can work with 8-28V. The optocopler is wired to the GPIO´s. So you can connect a switch or somthing simular. You can switch as example directly with the 12V on board. If the Input go´s high, the GPIO also. ;-) I have done this for fast counting. For the MCP23017 you need round about 3-5ms for reading after interrupt (I have measured that at the GeCoS : https://www.gedad.de/projekte/projekte-f%C3%BCr-privat/ ) So if you want to use it for rpm measurement the mcp is to slow and you can do this directly on the gpio....
Open-source:
I do not know "fritzing" and also not "Frankenstein-Board" ;-)
For me there are two options:
1.
I do this open-source. In principle it´s no problem for me as long as I have no high cost and only work. But then i do not sell the board. Im a buisness. If I sell parts, i must check them (surge test and so on) and do many (In germany we say) paperwork. (correct in english?) I must lable a CE on it for Europe. Means open-source yes, but then hardware only for me and all others can order directly from any supplier.
2.
I sell the board over my buisness. I think I can do this for low cost. (as i describe before round about 70€ for the board) Then I make all tests and operation manual. By the way I would write software as far as i can becouse I need this for my sailboat and I have luck on it. But the selling product is only the hardware. No software support.
Do not get me wrong: i would rather sell it without all the "additional costs". But its not easy to do this without problems later.... ;-)
Posts: 113
Threads: 33
Joined: Dec 2016
Reputation:
0
Hi glowntiger,
it seems to me a good project.
One question, is there a reason why you didn't plan to use the ADS1115 already supported by Openplotter for analog inputs? (I'm using them)
Posts: 181
Threads: 4
Joined: May 2018
Reputation:
28
(2019-09-04, 08:13 AM)kste Wrote: Hi glowntiger,
it seems to me a good project.
One question, is there a reason why you didn't plan to use the ADS1115 already supported by Openplotter for analog inputs? (I'm using them)
Hi kste,
yes, the reasen is that i have the mcp3424 already done. => https://www.gedad.de/shop/gecos-wired/#c...4486654922
I only must change the geometric design for the mcs case. ;-)
Posts: 325
Threads: 24
Joined: Apr 2019
Reputation:
6
(2019-09-04, 09:20 AM)glowntiger Wrote: (2019-09-04, 08:13 AM)kste Wrote: Hi glowntiger,
it seems to me a good project.
One question, is there a reason why you didn't plan to use the ADS1115 already supported by Openplotter for analog inputs? (I'm using them)
Hi kste,
yes, the reasen is that i have the mcp3424 already done. => https://www.gedad.de/shop/gecos-wired/#c...4486654922
I only must change the geometric design for the mcs case. ;-)
So if I understand correctly, everything should work. With Openplotter 2, the CAP Moitessier and your card (also with Seatalk?) I should have everything on board! I can't wait for everything to be ready. Good work to all and good wind!
Posts: 3,025
Threads: 63
Joined: Mar 2016
Reputation:
284
2019-09-04, 04:27 PM
(This post was last modified: 2019-09-04, 04:30 PM by Sailoog.)
In green:
(2019-09-03, 08:42 PM)glowntiger Wrote: Hi Sailoog.
thank´s for your reply.
I take a look on your template until it´s ready. I hope my Python skills are sufficient ;-)
I have installed OP2 and it looks realy cool with the app character.
-MCP2515: thats cool. All works with openplotter i hope and I have nothing to do :-) .
-SC16is752: I write a script in "MCS OP App" witch writes the dtoverlay in the config.txt? Then it can handle as a normal Uart in your serial app? (It will create ttySC0-ttySC5)
Yes
-DS2482: I can load the Kernel driver for the DS2482 in "MCS App". Until its done every Sensor is reachable in:
Code: cd /sys/bus/w1/devices
an can call via:
Code: cat /sys/bus/w1/devices/28-0118306524ff/w1_slave
I think its simular to "your" 1wire usage via GPIO4?
Not exactly. If you have multiple temp sensors connected directly to GPIO4, you have a python package "w1thermsensor" to do the work: https://github.com/openplotter/openplott...n3/1w_d.py
-MP1593: there is no problem. Until now i have not ordered the next boards. I have rerouted to pin 29 (GPIO5) O.K. for you? This pin is also not used from moitessier... Yes, script should be done to detect the power down and shutdown the system.
Great! Actually we will not need to write any script because the "openplotter-actions" app will do it. There you can set actions for GPIO states easily.
-MCP23017: At the Moment on my homecontrol devices I seperate the MCP´s via the adresses: HEX 20-23 is for inputs, HEX 24-27 is for outputs. I would like to do this here the same way. I only want to change the geometric design, so the Moduls can mount in the case. So its possible to put 64 inputs and 64 outputs in the case.
Those are too much inputs/outputs it could be done but remember that we are sharing the I2C interface with an IMU and potentially more devices. If we take just HEX 20 and HEX 24 how many inputs/outputs we have?
-MCP3424: for this I Normaly use HEX 68-6B. So you can use 16 Analog Inputs in the case. The actual boards are for 0-10V and 0-20mA. I can also design for adjustible resistance.
"- 12C modules of your other boards: This should be added to your app." => There are no further moduls. Thats all... ;-) The conector on the board is for the MCP boards. I want to place them via "Spacer" in the case. So everybody can decide for himself how much Inputs and outputs want to use....
"- What 8-28V digit. Input means?" => There are 4 Optocopler on the board wich can work with 8-28V. The optocopler is wired to the GPIO´s. So you can connect a switch or somthing simular. You can switch as example directly with the 12V on board. If the Input go´s high, the GPIO also. ;-) I have done this for fast counting. For the MCP23017 you need round about 3-5ms for reading after interrupt (I have measured that at the GeCoS : https://www.gedad.de/projekte/projekte-f%C3%BCr-privat/ ) So if you want to use it for rpm measurement the mcp is to slow and you can do this directly on the gpio....
Ok
Open-source:
I do not know "fritzing" and also not "Frankenstein-Board" ;-)
https://fritzing.org is a group of tools to design and produce PCBs collaboratively. Frankenstein-Board is a joke to describe my idea, an universal and modular board made of pieces from other working projects ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
For me there are two options:
1.
I do this open-source. In principle it´s no problem for me as long as I have no high cost and only work. But then i do not sell the board. Im a buisness. If I sell parts, i must check them (surge test and so on) and do many (In germany we say) paperwork. (correct in english?) I must lable a CE on it for Europe. Means open-source yes, but then hardware only for me and all others can order directly from any supplier.
2.
I sell the board over my buisness. I think I can do this for low cost. (as i describe before round about 70€ for the board) Then I make all tests and operation manual. By the way I would write software as far as i can becouse I need this for my sailboat and I have luck on it. But the selling product is only the hardware. No software support.
Do not get me wrong: i would rather sell it without all the "additional costs". But its not easy to do this without problems later.... ;-)
sorry I do not understand some parts of this answer ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
But do not worry, whatever you decide will be OK. As open-source evangelists we can not invest effort making openplotter compatible with proprietary projects and we will always prioritize open-source projects when available but this does not means we can not collaborate. Maybe we can exchange some hours of coding for your help with our Franky-Board ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
Posts: 181
Threads: 4
Joined: May 2018
Reputation:
28
2019-09-05, 07:45 AM
(This post was last modified: 2019-09-05, 08:00 AM by glowntiger.)
(2019-09-04, 04:27 PM)In red... ;-)Sailoog Wrote: In green:
(2019-09-03, 08:42 PM)glowntiger Wrote: Hi Sailoog.
thank´s for your reply.
I take a look on your template until it´s ready. I hope my Python skills are sufficient ;-)
I have installed OP2 and it looks realy cool with the app character.
-MCP2515: thats cool. All works with openplotter i hope and I have nothing to do :-) .
-SC16is752: I write a script in "MCS OP App" witch writes the dtoverlay in the config.txt? Then it can handle as a normal Uart in your serial app? (It will create ttySC0-ttySC5)
Yes
-DS2482: I can load the Kernel driver for the DS2482 in "MCS App". Until its done every Sensor is reachable in:
Code: cd /sys/bus/w1/devices
an can call via:
Code: cat /sys/bus/w1/devices/28-0118306524ff/w1_slave
I think its simular to "your" 1wire usage via GPIO4?
Not exactly. If you have multiple temp sensors connected directly to GPIO4, you have a python package "w1thermsensor" to do the work: https://github.com/openplotter/openplott...n3/1w_d.py
I think it´s easy to use also via the kernel driver. we acn read the senser Input, parse and give you the data. I think I write a script which yopu can implemented?
-MP1593: there is no problem. Until now i have not ordered the next boards. I have rerouted to pin 29 (GPIO5) O.K. for you? This pin is also not used from moitessier... Yes, script should be done to detect the power down and shutdown the system.
Great! Actually we will not need to write any script because the "openplotter-actions" app will do it. There you can set actions for GPIO states easily.
Cool.. All works out of the box
-MCP23017: At the Moment on my homecontrol devices I seperate the MCP´s via the adresses: HEX 20-23 is for inputs, HEX 24-27 is for outputs. I would like to do this here the same way. I only want to change the geometric design, so the Moduls can mount in the case. So its possible to put 64 inputs and 64 outputs in the case.
Those are too much inputs/outputs it could be done but remember that we are sharing the I2C interface with an IMU and potentially more devices. If we take just HEX 20 and HEX 24 how many inputs/outputs we have?
With HEX20 and 24 we can handle 16 Inputs and 16 outputs. But I think you are to scared... ;-) Or do you have bad experience? On the GeCoS Server for Homeautomation we have the 1-wire server, RTC, 4 times multiplexer and up to 16x MCP23017 for Input, 16x MCP23017 for output, 32x MCP3424 and 32x PCA9685... And that all on one I2C-Bus on the Pi. There we have no timing problems....
-MCP3424: for this I Normaly use HEX 68-6B. So you can use 16 Analog Inputs in the case. The actual boards are for 0-10V and 0-20mA. I can also design for adjustible resistance.
"- 12C modules of your other boards: This should be added to your app." => There are no further moduls. Thats all... ;-) The conector on the board is for the MCP boards. I want to place them via "Spacer" in the case. So everybody can decide for himself how much Inputs and outputs want to use....
"- What 8-28V digit. Input means?" => There are 4 Optocopler on the board wich can work with 8-28V. The optocopler is wired to the GPIO´s. So you can connect a switch or somthing simular. You can switch as example directly with the 12V on board. If the Input go´s high, the GPIO also. ;-) I have done this for fast counting. For the MCP23017 you need round about 3-5ms for reading after interrupt (I have measured that at the GeCoS : https://www.gedad.de/projekte/projekte-f%C3%BCr-privat/ ) So if you want to use it for rpm measurement the mcp is to slow and you can do this directly on the gpio....
Ok
Open-source:
I do not know "fritzing" and also not "Frankenstein-Board" ;-)
https://fritzing.org is a group of tools to design and produce PCBs collaboratively. Frankenstein-Board is a joke to describe my idea, an universal and modular board made of pieces from other working projects ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
I will take a look on it. But if i understand it right on the website, I cannot upload my data, I must design new in the online editor? That´s realy much work...
For me there are two options:
1.
I do this open-source. In principle it´s no problem for me as long as I have no high cost and only work. But then i do not sell the board. Im a buisness. If I sell parts, i must check them (surge test and so on) and do many (In germany we say) paperwork. (correct in english?) I must lable a CE on it for Europe. Means open-source yes, but then hardware only for me and all others can order directly from any supplier.
2.
I sell the board over my buisness. I think I can do this for low cost. (as i describe before round about 70€ for the board) Then I make all tests and operation manual. By the way I would write software as far as i can becouse I need this for my sailboat and I have luck on it. But the selling product is only the hardware. No software support.
Do not get me wrong: i would rather sell it without all the "additional costs". But its not easy to do this without problems later.... ;-)
sorry I do not understand some parts of this answer ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
Means: If I sell electronic parts, I must Check them and make conformity. (CE/FCC) Else It is permitted to sell the parts over a Buisnes. And that costs a lot of Money....
But do not worry, whatever you decide will be OK. As open-source evangelists we can not invest effort making openplotter compatible with proprietary projects and we will always prioritize open-source projects when available but this does not means we can not collaborate. Maybe we can exchange some hours of coding for your help with our Franky-Board ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
I think about this. What I can imagine: If anybody is intrestet in personalize or optimize the board I have no problems to send the grip files or the data. I work with kicad and eagle. Kicad is also open source.
Yesterday I have tested seatalk. I have a ST60+ Wind here.
I have one of the SC16IS752 adapted so that I have the seatalk directly on the UART of it. I have used a voltage dividier for testing. The Uart has also inverted levels.
In the Datasheet is describet how to use the 9bit mode (multidrop Mode) But I think it is not implemented in the Linux driver.
I have found no way to use the 9 bit. I can read the data, but not the correct one with 9 bit. I fumbled around for half an day
So I have no solution to read/write the 9 bit.
For me there are 2 possibilities:
I mount a microcontroller on the board or I use bitbanging with pigpio.
but I don´t like bitbanging.... And if a microcontroller on board, every Modul have to flash and much work for only seatalk.
Have anybody a better Idea????
Posts: 325
Threads: 24
Joined: Apr 2019
Reputation:
6
Cia0, here talk about seatalk. Can you help with programming? http://www.thomas-knauf.de/rap/seatalk1.htm#Dat
Posts: 3,025
Threads: 63
Joined: Mar 2016
Reputation:
284
In green again
-MCP23017: At the Moment on my homecontrol devices I seperate the MCP´s via the adresses: HEX 20-23 is for inputs, HEX 24-27 is for outputs. I would like to do this here the same way. I only want to change the geometric design, so the Moduls can mount in the case. So its possible to put 64 inputs and 64 outputs in the case.
Those are too much inputs/outputs it could be done but remember that we are sharing the I2C interface with an IMU and potentially more devices. If we take just HEX 20 and HEX 24 how many inputs/outputs we have?
With HEX20 and 24 we can handle 16 Inputs and 16 outputs. But I think you are to scared... ;-) Or do you have bad experience? On the GeCoS Server for Homeautomation we have the 1-wire server, RTC, 4 times multiplexer and up to 16x MCP23017 for Input, 16x MCP23017 for output, 32x MCP3424 and 32x PCA9685... And that all on one I2C-Bus on the Pi. There we have no timing problems....
Yes, I have saturated the I2C interface with only 3 sensors at high rate. But I think I have the solution. We can define all the MCP23017 individually in openplotter-i2c app so users can enable just what they need until saturate the interface. From 20 to 23 will be inputs and from 24 to 27 outputs.
I do not know "fritzing" and also not "Frankenstein-Board" ;-)
https://fritzing.org is a group of tools to design and produce PCBs collaboratively. Frankenstein-Board is a joke to describe my idea, an universal and modular board made of pieces from other working projects ![[Image: smile.png]](http://forum.openmarine.net/images/smilies/smile.png)
I will take a look on it. But if i understand it right on the website, I cannot upload my data, I must design new in the online editor? That´s realy much work...
It is not an online editor, it is a desktop program and you can export eagle to fritzing format.
For me there are two options:
1.
I do this open-source. In principle it´s no problem for me as long as I have no high cost and only work. But then i do not sell the board. Im a buisness. If I sell parts, i must check them (surge test and so on) and do many (In germany we say) paperwork. (correct in english?) I must lable a CE on it for Europe. Means open-source yes, but then hardware only for me and all others can order directly from any supplier.
2.
I sell the board over my buisness. I think I can do this for low cost. (as i describe before round about 70€ for the board) Then I make all tests and operation manual. By the way I would write software as far as i can becouse I need this for my sailboat and I have luck on it. But the selling product is only the hardware. No software support.
Do not get me wrong: i would rather sell it without all the "additional costs". But its not easy to do this without problems later.... ;-)
sorry I do not understand some parts of this answer ![[Image: smile.png]](http://forum.openmarine.net/images/smilies/smile.png)
Means: If I sell electronic parts, I must Check them and make conformity. (CE/FCC) Else It is permitted to sell the parts over a Buisnes. And that costs a lot of Money....
But do not worry, whatever you decide will be OK. As open-source evangelists we can not invest effort making openplotter compatible with proprietary projects and we will always prioritize open-source projects when available but this does not means we can not collaborate. Maybe we can exchange some hours of coding for your help with our Franky-Board
I think about this. What I can imagine: If anybody is intrestet in personalize or optimize the board I have no problems to send the grip files or the data. I work with kicad and eagle. Kicad is also open source.
That is a start
Yesterday I have tested seatalk. I have a ST60+ Wind here.
I have one of the SC16IS752 adapted so that I have the seatalk directly on the UART of it. I have used a voltage dividier for testing. The Uart has also inverted levels.
In the Datasheet is describet how to use the 9bit mode (multidrop Mode) But I think it is not implemented in the Linux driver.
I have found no way to use the 9 bit. I can read the data, but not the correct one with 9 bit. I fumbled around for half an day
So I have no solution to read/write the 9 bit.
For me there are 2 possibilities:
I mount a microcontroller on the board or I use bitbanging with pigpio.
but I don´t like bitbanging.... And if a microcontroller on board, every Modul have to flash and much work for only seatalk.
Have anybody a better Idea????
I am afraid everyone who have dealt with seatalk we got to the same conclusion, a micro is needed.
Posts: 1,230
Threads: 103
Joined: Mar 2016
Reputation:
72
(2019-09-05, 11:50 AM)Sailoog Wrote: I think about this. What I can imagine: If anybody is intrestet in personalize or optimize the board I have no problems to send the grip files or the data. I work with kicad and eagle. Kicad is also open source.
That is a start ![Smile Smile](https://forum.openmarine.net/images/smilies/smile.png)
Another option is Easyeda for board design, https://easyeda.com/
Then you can order the boards for a couple of dollars plus get the components like terminal blocks, header sockets etc shipped at the same time.
This much a work in progress as a esp32 board with sensors , first version worked OK with a couple of mistakes.
https://easyeda.com/paddyb/SigK_Send
|