Jump to content


Photo

Positioner setup feature request


  • Please log in to reply
38 replies to this topic

#1 Huevos

  • PLi® Contributor
  • 4,250 posts

+158
Excellent

Posted 17 April 2014 - 00:02

Positioner setup \ Memory index \ BLUE (Allocate)

 

This selects the first vacant position number.

 

Is it possible this could be written back to the tuner config, otherwise the only way to set up a group of satellite is continually jumping between the tuner config screen and the positioner setup screen. It doesn't make any sense that the plugin can find a vacant position but cannot save it so it corresponds to the satellite being set up.


Edited by Huevos, 17 April 2014 - 00:02.


Re: Positioner setup feature request #2 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 17 April 2014 - 11:18

Huevos

I have a question (Allocate).

My setup tuner A:

config.Nims.0.configMode=advanced
config.Nims.0.advanced.sats=48
config.Nims.0.advanced.lnb.1.turningspeedH=1.7
config.Nims.0.advanced.lnb.1.rotorPositions=10
config.Nims.0.advanced.lnb.1.powerMeasurement=false
config.Nims.0.advanced.lnb.1.sequenceRepeat=true
config.Nims.0.advanced.lnb.1.longitude=14.800
config.Nims.0.advanced.lnb.1.diseqcMode=1_2
config.Nims.0.advanced.lnb.1.uncommittedDiseqcCommand=1
config.Nims.0.advanced.lnb.1.commandOrder=cut
config.Nims.0.advanced.lnb.1.diseqcRepeats=one
config.Nims.0.advanced.lnb.1.latitude=53.667
config.Nims.0.advanced.lnb.1.powerThreshold=33
config.Nims.0.advanced.lnb.1.turningspeedV=1.4
config.Nims.0.advanced.lnb.3.diseqcMode=1_1
config.Nims.0.advanced.lnb.3.uncommittedDiseqcCommand=3
config.Nims.0.advanced.lnb.3.commandOrder=cut
config.Nims.0.advanced.lnb.2.lof=user_defined
config.Nims.0.advanced.lnb.2.sequenceRepeat=true
config.Nims.0.advanced.lnb.2.diseqcMode=1_1
config.Nims.0.advanced.lnb.2.uncommittedDiseqcCommand=2
config.Nims.0.advanced.lnb.2.commandOrder=uct
config.Nims.0.advanced.lnb.2.threshold=10750
config.Nims.0.advanced.lnb.2.lofh=10750
config.Nims.0.advanced.lnb.2.lofl=10750
config.Nims.0.advanced.lnb.2.fastDiseqc=true
config.Nims.0.advanced.lnb.5.sequenceRepeat=true
config.Nims.0.advanced.lnb.5.diseqcMode=1_1
config.Nims.0.advanced.lnb.5.uncommittedDiseqcCommand=5
config.Nims.0.advanced.lnb.5.commandOrder=uct
config.Nims.0.advanced.lnb.4.diseqcMode=1_1
config.Nims.0.advanced.lnb.4.uncommittedDiseqcCommand=4
config.Nims.0.advanced.lnb.4.commandOrder=cut
config.Nims.0.advanced.lnb.6.diseqcMode=1_1
config.Nims.0.advanced.lnb.6.uncommittedDiseqcCommand=6
config.Nims.0.advanced.lnb.6.commandOrder=uct
config.Nims.0.advanced.lnb.6.diseqcRepeats=one
config.Nims.0.advanced.lnb.6.sequenceRepeat=true
config.Nims.0.advanced.lnb.6.fastDiseqc=true
config.Nims.0.advanced.sat.130.lnb=1
config.Nims.0.advanced.sat.160.rotorposition=2
config.Nims.0.advanced.sat.160.lnb=1
config.Nims.0.advanced.sat.160.usals=false
config.Nims.0.advanced.sat.282.rotorposition=28
config.Nims.0.advanced.sat.282.tonemode=on
config.Nims.0.advanced.sat.282.lnb=1
config.Nims.0.advanced.sat.282.usals=false
config.Nims.0.advanced.sat.3560.rotorposition=11
config.Nims.0.advanced.sat.3560.lnb=1
config.Nims.0.advanced.sat.3560.usals=false
config.Nims.0.advanced.sat.360.lnb=2
config.Nims.0.advanced.sat.315.rotorposition=3
config.Nims.0.advanced.sat.315.lnb=1
config.Nims.0.advanced.sat.315.usals=false
config.Nims.0.advanced.sat.192.lnb=1
config.Nims.0.advanced.sat.3300.rotorposition=14
config.Nims.0.advanced.sat.3300.lnb=1
config.Nims.0.advanced.sat.3300.usals=false
config.Nims.0.advanced.sat.3475.rotorposition=13
config.Nims.0.advanced.sat.3475.lnb=1
config.Nims.0.advanced.sat.420.lnb=5
config.Nims.0.advanced.sat.380.lnb=2
config.Nims.0.advanced.sat.100.rotorposition=10
config.Nims.0.advanced.sat.100.lnb=1
config.Nims.0.advanced.sat.100.usals=false
config.Nims.0.advanced.sat.3592.rotorposition=8
config.Nims.0.advanced.sat.3592.lnb=1
config.Nims.0.advanced.sat.3592.usals=false
config.Nims.0.advanced.sat.850.lnb=3
config.Nims.0.advanced.sat.900.lnb=6
config.Nims.0.advanced.sat.90.lnb=1
config.Nims.0.advanced.sat.600.lnb=4
config.Nims.0.advanced.sat.235.lnb=1
config.Nims.0.advanced.sat.48.lnb=1
config.Nims.0.powerMeasurement=false

Some satellites configured in USALS-->advanced.sat.*.rotorposition if same


GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #3 Huevos

  • PLi® Contributor
  • 4,250 posts

+158
Excellent

Posted 17 April 2014 - 14:30

Not really sure what you are asking. You can have 2 satellites use the same position number. Position number is not unique to a satellite, but "allocate" finds the first unused position number.


Edited by Huevos, 17 April 2014 - 14:30.


Re: Positioner setup feature request #4 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 17 April 2014 - 15:00

Not really sure what you are asking. You can have 2 satellites use the same position number. Position number is not unique to a satellite, but "allocate" finds the first unused position number.

If current satellite use usals and press BLUE (Allocate)-->eternal spinner


GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #5 Huevos

  • PLi® Contributor
  • 4,250 posts

+158
Excellent

Posted 17 April 2014 - 15:44

Not really sure what you are asking. You can have 2 satellites use the same position number. Position number is not unique to a satellite, but "allocate" finds the first unused position number.

If current satellite use usals and press BLUE (Allocate)-->eternal spinner

That is a fault with the plugin. In my opinion "Memory Index" shouldn't show when configuring USALS satellites.



Re: Positioner setup feature request #6 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 17 April 2014 - 16:36

That is a fault with the plugin. In my opinion "Memory Index" shouldn't show when configuring USALS satellites.

yes


GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #7 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 18 April 2014 - 07:13

 

Not really sure what you are asking. You can have 2 satellites use the same position number. Position number is not unique to a satellite, but "allocate" finds the first unused position number.

If current satellite use usals and press BLUE (Allocate)-->eternal spinner

That is a fault with the plugin. In my opinion "Memory Index" shouldn't show when configuring USALS satellites.

This has confused many many users ("I store the position but it doesn't seem to work").



Re: Positioner setup feature request #8 Huevos

  • PLi® Contributor
  • 4,250 posts

+158
Excellent

Posted 18 April 2014 - 22:39

This has confused many many users ("I store the position but it doesn't seem to work").

A lot better since the plugin was upgraded a few months ago, but still confusing in places.



Re: Positioner setup feature request #9 rhinoceros

  • Senior Member
  • 569 posts

+23
Neutral

Posted 22 April 2014 - 11:56

Actually the BLUE button (Allocate) determines all available index positions from lowest to highest by subsequent key presses. For this reason the maximum rotor/actuator index needs to be configured in the NimManager. I saw that the default was changed recently. That means people (such as me) who had used the old default before should now set the correct value in the NimManager.

 

The problem reported by Dima73 should be corrected by inserting one line of code at line number 530 and indenting the following for loop. See changed file attached.

 

Sorry cannot make a patch and cannot test anything from where I am now. Could be some months before I could do that. Let me know what happened.

 

 

Attached Files


"Het enige wat we leren van de geschiedenis is dat we niets leren van geschiedenis.", Georg Wilhelm Friedrich Hegel, 1831


Re: Positioner setup feature request #10 rhinoceros

  • Senior Member
  • 569 posts

+23
Neutral

Posted 22 April 2014 - 12:01

This feature request seems reasonable but is not so easy to implement. The positioner functions are arranged around the low level rotor interface. The satellite is a logical concept. Perhaps the entire positioner screen interface should be re-designed. Any suggestion for a simpler solution are welcome of course.


"Het enige wat we leren van de geschiedenis is dat we niets leren van geschiedenis.", Georg Wilhelm Friedrich Hegel, 1831


Re: Positioner setup feature request #11 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 22 April 2014 - 12:19

rhinoceros

Your suggestion does not work.
In my opinion it is necessary so:

		elif entry == "storage":
			if self.advanced:
				self.printMsg(_("Allocate unused memory index"))
				while(True):
					if not len(self.allocatedIndices):
						for sat in self.availablesats:
+							usals = self.advancedsats[sat].usals.value
+							if not usals:
+								self.allocatedIndices.append(int(self.advancedsats[sat].rotorposition.value))
-						for sat in self.availablesats:
-							self.allocatedIndices.append(int(self.advancedsats[sat].rotorposition.value))
						if len(self.allocatedIndices) == self.rotorPositions:
							self.statusMsg(_("No free index available"), timeout = self.STATUS_MSG_TIMEOUT)
							break
					index = 1
					if len(self.allocatedIndices):
						for i in sorted(self.allocatedIndices):
							if i != index:
								break
							index += 1
					if index <= self.rotorPositions:

GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #12 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 22 April 2014 - 13:08

An alternative embodiment plugin for test...


GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #13 rhinoceros

  • Senior Member
  • 569 posts

+23
Neutral

Posted 22 April 2014 - 15:31

My patch does not work, but your patch is also not the way to do it. This code is only concerned with the fact that an index is in use or not. Nothing to do with usals. Even a sat on usals can have a rotor position defined. You can check yourself. Define a sat as Disecq 1.2, allocate an index and then change it to usals. The rotor position is kept in the config and the stored value is still there in the rotor. When you switch back to Diseqc 1.2 the user expects to be able to use the same index stored position. In other words this index is still in use even though the sat is using usals. 

 

The only other reason I can see that this code fails is that the line following the for loop fails. The line says: if index <= self.rotorPositions. That would fail if self.rotorPositions is zero or otherwise undefined. You could check for that, e.g. if index <= self.rotorPositions or self.rotorPositions <= 0.


Edited by rhinoceros, 22 April 2014 - 15:31.

"Het enige wat we leren van de geschiedenis is dat we niets leren van geschiedenis.", Georg Wilhelm Friedrich Hegel, 1831


Re: Positioner setup feature request #14 rhinoceros

  • Senior Member
  • 569 posts

+23
Neutral

Posted 22 April 2014 - 21:05

If this does not solve the problem the issue must be that there are non-unique entries in the availableSats list. Solution is to reduce that list to unique entries only. Perhaps if there are several usals entries with no rotorposition they would all have the default index value. Or when the same index is used for more that on sat. Just reduce and it should be ok. Testing on usals is not ok.


"Het enige wat we leren van de geschiedenis is dat we niets leren van geschiedenis.", Georg Wilhelm Friedrich Hegel, 1831


Re: Positioner setup feature request #15 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 23 April 2014 - 06:10

If this does not solve the problem the issue must be that there are non-unique entries in the availableSats list. Solution is to reduce that list to unique entries only. Perhaps if there are several usals entries with no rotorposition they would all have the default index value. Or when the same index is used for more that on sat. Just reduce and it should be ok. Testing on usals is not ok.

Then so:

		elif entry == "storage":
			if self.advanced:
				self.printMsg(_("Allocate unused memory index"))
				while(True):
					if not len(self.allocatedIndices):
						for sat in self.availablesats:
+							current_index = int(self.advancedsats[sat].rotorposition.value)
+							if current_index not in self.allocatedIndices:
+								self.allocatedIndices.append(current_index)
						if len(self.allocatedIndices) == self.rotorPositions:
							self.statusMsg(_("No free index available"), timeout = self.STATUS_MSG_TIMEOUT)
							break
					index = 1
					if len(self.allocatedIndices):
						for i in sorted(self.allocatedIndices):
							if i != index:
								break
							index += 1
					if index <= self.rotorPositions:

GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #16 rhinoceros

  • Senior Member
  • 569 posts

+23
Neutral

Posted 23 April 2014 - 09:51

Yes indeed. If this works and solves your problem it can be committed in the repo. Thanks for your help.


"Het enige wat we leren van de geschiedenis is dat we niets leren van geschiedenis.", Georg Wilhelm Friedrich Hegel, 1831


Re: Positioner setup feature request #17 littlesat

  • PLi® Core member
  • 56,291 posts

+691
Excellent

Posted 23 April 2014 - 09:55

Does it work? Can we get a patch or complete py?

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Positioner setup feature request #18 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 23 April 2014 - 10:14

Does it work? Can we get a patch or complete py?

Work.

complete py


GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Positioner setup feature request #19 littlesat

  • PLi® Core member
  • 56,291 posts

+691
Excellent

Posted 23 April 2014 - 10:57

And do you also have a good description ;)

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Positioner setup feature request #20 Dimitrij

  • PLi® Core member
  • 10,036 posts

+339
Excellent

Posted 23 April 2014 - 11:00

And do you also have a good description ;)

Fix allocate unused memory index when use USALS.


GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users