Please login or register.

Login with username, password and session length

News:

Registration is only required if you want to post, and is not needed to read any posts. To avoid excess 'spam' accounts, all accounts where no posts have been made will be deleted after two weeks. Please register again if you wish to post.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - elir71

Pages: 1 2 [3] 4 5
31
Bridge Command General Support / Re: Linux Fedora 31 Successful Install
« on: January 03, 2020, 07:58:15 AM »
Yes it looks normal

Would this be the place to enter your own host name , or the other secondary host names ?

I am wondering where the best install directory would be for bc , so that it can be used by any user but personalised to their own $HOME/.Bridgecommand/ folder

32
Bridge Command General Support / Re: Linux Fedora 31 Sucessful Install
« on: January 01, 2020, 06:38:09 PM »
One bug that is bugging me, is that when I try to set up multiscreen, when I try to type the secondary computers hostnames into the edit box, then it is not accepting any text input.  Does anyone have any ideas about this ?

ADDENDUM :-

I seem to be able to type in secondary hostnames when I run the master as sudo i..e

Code: [Select]
sudo ./bridgecommand

Ths assumes that your local user is sudo enabled

33
Bridge Command General Support / Linux Fedora 31 Successful Install
« on: January 01, 2020, 12:05:36 PM »
Most of this are taken from the "how to compile on mac or linux" which is within the source code
However the procedure is slightly different on the Fedora 31 distribution which I just installed on a second hand Dell Optiplex 780
On my equally antique laptop I get 3 to 6 frames per second on my windows 7 whereas on the fedora 28 boot on the same hardware then I am getting 26 fps

I used gitg to obtain the source code
https://github.com/bridgecommand/bc
This saved to my HOME_DIRECTORY/bc

To build on linux:
==================

1) Ensure the required library packages are installed with the following command in the terminal window:
Code: [Select]

sudo yum install mesa_libGL-devel libXxf86vm-devel freeglut-devel libXext-devel libXcursor-devel make g++



If you want sound support then do the steps at the end of this ...

In terminal screen and in the bc directory
Code: [Select]
make to compile Bridge Command

In terminal screen and in the bc directory
Code: [Select]
./bridgecommand to start the simulator.
Additional steps to compile with sound (for both Mac and Linux):
================================================================
Libsndfile:
Download and uncompress libsndfile-1.0.28.tar.gz from http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz
Create a folder for the output, referred to as <Somewhere> (Absolute path)
Change directory to where you've uncompressed libsndfile, then run the following in the terminal window:

./configure --disable-shared --prefix=<Somewhere>
make
make install
cd <Somewhere>
cp -a lib <BridgeCommandSourceLocation>/libs/libsndfile/


Portaudio

Download and uncompress pa_stable_v190600_20161030.tgz from
Code: [Select]
http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgzChange directory to where you've uncompressed Portaudio, then run the following in the terminal window:

./configure --disable-shared --enable-static
make
cd lib/.libs/
cp * <BridgeCommandSourceLocation>/libs/portaudio/lib/

Building Bridge Command with sound:
Change to where you have the Bridge Command source then run the following in the terminal window:

make -f MakefileWithSound

34
Models / Azimuth drives - own ship
« on: August 11, 2019, 12:36:44 PM »
I'm experimenting with this at the moment.  It will involve a fair amount of code rewrite but should be useable as a data structure for more flexibility of control surfaces

35
Feature requests & suggestions / Re: AIS input and Google Earth?
« on: April 05, 2019, 03:50:53 PM »
I wrote some experimental code to create AIS signals for ships ... which could be used as other ships, so that they would be visible to openCPN chart plotter.  The AIS transmissions use a 6 bit format. The code was very very bodgy and I am certain it could be done more elegantly. I will try to dig it out and post it

36
Great, thank you for accepting the suggestion

I've been working on an AIS aspect to this.  I've got as far as writing a Message type 1 module and am part of the way through Message type 5 (name, destination , etc etc).  I've not started ammending the existing code to push this data to these modules (and thence to OpenCPN over network), though I think that would be the easy bit.  The aim being a realistic display on openCPN of other vessels so you can get AIS derived CPA TCPA etc (still a debated subject in practice)

I'm off to sea for about 6 months shortly, so I shall have to put it on hold for that time

David

37
https://github.com/bridgecommand/bc

is a good way of sharing source code and doing any forks which can then be applied to the master source code

my fork is on here
https://github.com/elir71/bc

however I have done nothing on the windows side of things but I compiled in linux, so you would have to compile from source.  Im uising Fedora 28 at the time of writing and probably wont be able to do anything new for at least four months.

38
An extension which I would like of this, would be otherships broadcasting AIS strings so they would come up as AIS targets on OpenCPN.  The string encoding is something I have briefly looked at and it is certainly non trivial ! since the encoding is in 6 byte chunks and the parameters being tranmitted can span several bytes and do not necessarily start or end at the start or end of any byte.  The key to it is a bit of binary maths where  aNumber * 2^i shunts the bits i places to the left (and when i is negative .. to the right)

39
I'm new to using git so please bear with me

I have (tried to) send some ammendments via a fork and pull request

I have not compiled under windows,  I have compiled under linux however I have not uploaded the executables

The ammendment I have made for your consideration and incorporation are as follows :-


1. Softcode the roll period

 as it is primarly a function of the stability condition of the vessel so in the models/ownship.boat.ini there is a new parameter of

rollPeriod=6

denoting a roll period of 6 seconds.  this parameter can be altered to suit the vessel,   Something like a car carrier would typicall be 12 sec.  future plans for this is to softcode pitch period too and to try and model a propensity for synchronous and parametric rolling which is basically a rapid increase in the amplitude of the roll due to resonance between the natural roll period of the vessel and the wave encouter period

2. Place a very basic rate of turn indicator on the GUI, also moving a few exisiting controls to accommodate it
 todo on this would be to softcode the range is measures,  A rib would turn far faster than a vlcc. 

3. Alter the user's interaction with the steering to more accurately reflect follow up mode on a ship.  The rudder can only be moved at a limited speed, but the steering wheel can be moved instantaneously.  To that end the user now controls the "wheel" and the rudder follows it at the rate defined in boat.ini of Ownship the units being degrees per second

RudderAngularVelocity=6

the above example would define the rudder can be moved by the steering gear through a maximum of 6 degrees per second

typical values for a rib woudl be 90, almost instentaneous
for a 100m general cargo ship 2 degrees per second
big old vlcc 1 degree per second 

I hope this meets with your approval

40
General Discussion / Re: Compiling under Linux Fedora 28
« on: May 19, 2018, 04:23:04 PM »
I have added this as a fork for incorporation on github

41
I got this working on my build of 5.2

in the bc.ini file I set the following to make a udp output

NMEA_ComPort=""
NMEA_UDPAddress="localhost"
NMEA_UDPPort="10110"

you could use the ip address of anthoer computer if you were running your chartplotter on another one.
10110 is what NMAE strings are sent on by convention, however as long as they match on opencpn and bc.ini and are not used by other things they should work


On opencpn

Options (spanner or cog symbol) -> Connections -> Add Connection

Properties network
Protocol UDP
Address 127.0.0.1   (or whatever computer you are running bc on)
DataPort 10110
Priority 1
tick control checksum
tick receive input on this port
untick output on this port

Apply

tick enable in the list (possibly disable other sources)

OK




42
General Discussion / Solution to compiling under Fedora 28
« on: May 18, 2018, 07:58:39 AM »
(this possibly applies to many other compilations also)

The sound routines were not included in the Makefile so the solution is to edit the Make file and

Insert Sound.cpp into the line as shown below

Code: [Select]

# List of source files, separated by spaces
Sources := main.cpp Angles.cpp Buoy.cpp Buoys.cpp Camera.cpp DefaultEventReceiver.cpp FFTWave.cpp GUIMain.cpp GUIRectangle.cpp HeadingIndicator.cpp IniFile.cpp LandLights.cpp LandObject.cpp LandObjects.cpp Lang.cpp Light.cpp ManOverboard.cpp MovingWater.cpp MyEventReceiver.cpp NMEA.cpp NavLight.cpp Network.cpp NetworkPrimary.cpp NetworkSecondary.cpp NumberToImage.cpp OtherShip.cpp OtherShips.cpp OutlineScrollBar.cpp OwnShip.cpp RadarCalculation.cpp RadarScreen.cpp Rain.cpp ScenarioChoice.cpp ScenarioDataStructure.cpp ScrollDial.cpp Ship.cpp SimulationModel.cpp Sky.cpp Sound.cpp StartupEventReceiver.cpp Terrain.cpp Tide.cpp Utilities.cpp Water.cpp libs/enet/callbacks.c libs/enet/compress.c libs/enet/host.c libs/enet/list.c libs/enet/packet.c libs/enet/peer.c libs/enet/protocol.c libs/enet/unix.c libs/enet/win32.c libs/serial/src/impl/list_ports/list_ports_linux.cc libs/serial/src/impl/list_ports/list_ports_osx.cc libs/serial/src/impl/list_ports/list_ports_win.cc libs/serial/src/impl/unix.cc libs/serial/src/impl/win.cc libs/serial/src/serial.cc



after that it compiles fine

43
General Discussion / Re: Compiling under Linux Fedora 23
« on: May 18, 2018, 06:49:16 AM »
Compiling under fedora 28

compiling irrlicht went ok

however there seems to be an issue when compiling bc


/tmp/cc8W3eNN.o: In function `main.cold.225':
main.cpp:(.text.unlikely+0x57): undefined reference to `Sound::~Sound()'
/tmp/cc8W3eNN.o: In function `main':
main.cpp:(.text.startup+0x196b): undefined reference to `Sound::Sound()'
main.cpp:(.text.startup+0x21fb): undefined reference to `Sound::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
main.cpp:(.text.startup+0x2295): undefined reference to `Sound::StartSound()'
main.cpp:(.text.startup+0x2823): undefined reference to `Sound::~Sound()'
/tmp/ccvPnksi.o: In function `SimulationModel::setPortEngine(float)':
SimulationModel.cpp:(.text+0xd6c): undefined reference to `Sound::setVolumeEngine(float)'
/tmp/ccvPnksi.o: In function `SimulationModel::setStbdEngine(float)':
SimulationModel.cpp:(.text+0xdff): undefined reference to `Sound::setVolumeEngine(float)'
/tmp/ccvPnksi.o: In function `SimulationModel::startHorn()':
SimulationModel.cpp:(.text+0x1700): undefined reference to `Sound::setVolumeHorn(float)'
/tmp/ccvPnksi.o: In function `SimulationModel::endHorn()':
SimulationModel.cpp:(.text+0x171c): undefined reference to `Sound::setVolumeHorn(float)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:45: all] Error 1

44
I've been playing with doing a model of a real world canal based on a real world example.  I came accross the problem of getting the canal segments to line up, each one being a separate heightmap and texture in each section of terrain.ini each based on googlemap printscreen and crop.

Based on plane sailing formulae

INPUTS from the URL of the google map page
https://www.google.co.uk/maps/@52.9727602,-3.6609794,10z
vvvvv
https://www.google.co.uk/maps/@[LAT_CENTRE],[LONG_CENTRE],[ZOOM]z

and assuming as aspect ratio of 2, as the image I see is twice as wide as it is high



TerrainLatExtent=32768/(60*2^(ZOOM)) ... in decimal degrees

TerrainLongExtent=TerrainLatExtent*2/cos(RADIANS(LAT_CENTRE)) ... in decimal degrees

TerrainLat=LAT_CENTRE-TerrainLatExtent/2

TerrainLong=LONG_CENTRE-TerainLongExtent/2



The above parameters can be put into the terrain.ini file once  you have worked out the values (probably using a spreadsheet)

For the heightmap .... The image can then be resized and cropped to 1025 ... 2049 etc for the heightmap which then needs to be shaded according to contours

For the texture ... The image can then be resized and cropped to 1024 ... 2048 etc

This uses plane sailing formulae as its base which approximates the earths surface at the centre of the map to a flat plane where the "departure" distance east or west is the same at all latitudes of that map (hence its suitability only for relatively small areas)



45
what does it say in the nemea sentences window you can display in opencpn ?  are you getting anything ?

Pages: 1 2 [3] 4 5