Sick pay for self employed 694,880
Include self-employed in statutory sick pay during Coronavirus
4.8 million people are registered self-employed in the UK. Figures are of 2017 according to the Office of National Statisticics. It would be easy enough to work out what each person is entitled to based on their tax returns.

Regional breakdown
North East 19129
North West 66724
Yorkshire and The Humber 45559
East Midlands 42891
West Midlands 44824
Eastern 69819
London 115167
South East 102994
South West 66633
Northern Ireland 15353
Scotland 56772
Wales 29303
Close all Schools/Colleges 680,729
Close Schools/Colleges down for an appropriate amount of time amidst COVID19.
We would like the government to at least consider closing schools/colleges down in the coming weeks or as soon as possible, in addition to taking necessary actions to prevent further spread.
Regional breakdown
North East 18891
North West 66269
Yorkshire and The Humber 43356
East Midlands 42198
West Midlands 60783
Eastern 54531
London 174306
South East 78488
South West 37592
Northern Ireland 12422
Scotland 38661
Wales 23868
Lockdown like Italy 406,850
Implement UK lockdown for preventing spread of COVID19
The UK needs to follow suit the containment procedures of countries that have been greatly affected by COVID19 such as Italy.
The UK should restrict unnecessary travel between towns and cities. Travel permitted should only be for work or emergencies. Public gatherings should also be discouraged.
Regional breakdown
North East 11100
North West 34232
Yorkshire and The Humber 24034
East Midlands 20940
West Midlands 25775
Eastern 34201
London 109896
South East 45472
South West 26045
Northern Ireland 6764
Scotland 32395
Wales 20627
Refund tuition fees 298,366
Reimburse all students of this year’s fees due to strikes and COVID-19
All students should be reimbursed of this years tuition fees as universities are now online only due to COVID-19, with only powerpoints online for learning materials which is not worthy of up to £9,250. Furthermore, all assessments are being reconsidered to ‘make do’ and build up credits.
Regional breakdown
North East 11050
North West 31805
Yorkshire and The Humber 25357
East Midlands 21328
West Midlands 26729
Eastern 24349
London 62210
South East 42270
South West 21807
Northern Ireland 6334
Scotland 5908
Wales 10987
Support Events Industry 150,057
Government to offer economic assistance to the events industry during COVID-19
For the UK government to provide economic assistance to businesses and staff employed in the events industry, who are suffering unforeseen financial challenges that could have a profound effect on hundreds of thousands of people employed in the sector.
Regional breakdown
North East 3156
North West 14002
Yorkshire and The Humber 9420
East Midlands 8311
West Midlands 11677
Eastern 13030
London 32072
South East 22595
South West 13797
Northern Ireland 2610
Scotland 9750
Wales 5030
Increase NHS pay 123,704
Increase pay for NHS healthcare workers and recognise their work
I would like the government to review and increase the pay for healthcare workers to recognise the work that they do.
Regional breakdown
North East 3613
North West 11632
Yorkshire and The Humber 6811
East Midlands 7524
West Midlands 8917
Eastern 13423
London 26413
South East 19806
South West 8540
Northern Ireland 1081
Scotland 5841
Wales 6227
Close Universities 123,502
Close all universities down for an appropriate amount of time amidst COVID-19
We would like the government to to consider closing universities down in the coming weeks or as soon as possible, in addition to taking necessary actions to prevent further spread
Regional breakdown
North East 4262
North West 11059
Yorkshire and The Humber 7670
East Midlands 7910
West Midlands 11411
Eastern 6919
London 30630
South East 14654
South West 7308
Northern Ireland 1096
Scotland 6116
Wales 4381
Suspend Rent/Mortgage 120,137
Encourage lenders, landlords and utilities to freeze payments during lockdown
If the country is locked down during a pandemic, the government should work with mortgage providers, landlords and utility companies to freeze rent, mortgage and utility bill payments.
Regional breakdown
North East 1611
North West 6904
Yorkshire and The Humber 5376
East Midlands 6769
West Midlands 7570
Eastern 11171
London 49883
South East 14645
South West 6556
Northern Ireland 431
Scotland 3819
Wales 2128
Universal Basic Income 108,176
Implement Universal Basic Income to give home & food security through Covid-19
The government should implement an immediate Universal Basic Income trial for all UK residents to ensure home and food security through the coronavirus Covid-19 crisis, to support the needs of those that need to self-isolate as well as the public health at large, and the wider economy.
Regional breakdown
North East 3789
North West 9547
Yorkshire and The Humber 7500
East Midlands 5435
West Midlands 5817
Eastern 7256
London 22474
South East 13660
South West 10290
Northern Ireland 1273
Scotland 13569
Wales 4828
Fund closed nurseries 103,422
Give UK nurseries emergency funding if they have to close down amid COVID-19
If nurseries are shut down in view of Covid-19, the Government should set up an emergency fund to ensure their survival and ensure that parents are not charged the full fee by the nurseries to keep children's places.
Regional breakdown
North East 3950
North West 14860
Yorkshire and The Humber 9002
East Midlands 8983
West Midlands 9134
Eastern 9212
London 11772
South East 14615
South West 7334
Northern Ireland 2028
Scotland 3787
Wales 5014
Don’t prosecute truants 84,986
No prosecution for parents that remove child from school during a pandemic.
Legislate to allow parents to have the option to remove their children from school if there is a pandemic e.g. Coronavirus or similar without negative action by schools or local authorities. They shouldn’t lose the child’s place in the school or face any kind of prosecution.
Regional breakdown
North East 2140
North West 7972
Yorkshire and The Humber 6474
East Midlands 5746
West Midlands 7646
Eastern 8715
London 21856
South East 10632
South West 4715
Northern Ireland 723
Scotland 3150
Wales 2754
Pay self-employed 43,063
Pay self employed workers a wage due to lack or earnings caused by COVID-19.
For the government to have a debate and authorise a top up of wages for the self-employed during the coronavirus outbreak.
Regardless if they are infected or not, less people are travelling and going to work on a daily basis creating a loss of income.
Regional breakdown
North East 513
North West 2825
Yorkshire and The Humber 1438
East Midlands 2626
West Midlands 2309
Eastern 4754
London 15825
South East 6233
South West 2634
Northern Ireland 249
Scotland 1708
Wales 841
Social care important as NHS 27,870
We would like the government to consider social care as equally important to NHS
We would like the government to support and regard social care: financially, publicly and systematically on an equal par as NHS. We would like parliament to debate how to support social care during COVID-19 and beyond so that it automatically has the same access to operational and financial support.
Regional breakdown
North East 1498
North West 3945
Yorkshire and The Humber 1959
East Midlands 2749
West Midlands 1882
Eastern 2239
London 2165
South East 3713
South West 3365
Northern Ireland 238
Scotland 1949
Wales 1432
Extend Brexit transition 23,201
Extend the transition; delay negotiations until after the coronavirus outbreak
The government should consider delaying negotiations so they can concentrate on the coronavirus situation and reduce travel of both EU and UK negotiators. This would necessitate extending the transition period; as there can only be a one off extension, this should be for two years.
Regional breakdown
North East 623
North West 1858
Yorkshire and The Humber 1390
East Midlands 1130
West Midlands 1393
Eastern 2240
London 3430
South East 4115
South West 2687
Northern Ireland 131
Scotland 1500
Wales 1063
Fund agency & 0 hour workers 16,739
Give financial help to agency and zero hour workers during COVID-19 outbreak.
Put in place an emergency fund for people who work for agencies, are on zero hour contracts, or who are self employed and may not be able to claim Universal Credit should work dry up due due to emergency measures during the outbreak of COVID 19.
Regional breakdown
North East 416
North West 1644
Yorkshire and The Humber 1393
East Midlands 1875
West Midlands 2325
Eastern 1392
London 2604
South East 1577
South West 800
Northern Ireland 191
Scotland 1341
Wales 787
Suspend Iran Sanctions 13,965
Suspend sanctions against Iran for the duration of the coronavirus pandemic
As of today, 2,336 cases have now been confirmed in Iran and Iran has a high ratio of deaths to infections – now about 3.3%. Sanctions against Iran should be lifted immediately to help its populace and prevent the global spread of infection.
Regional breakdown
North East 172
North West 1268
Yorkshire and The Humber 829
East Midlands 543
West Midlands 986
Eastern 1039
London 5377
South East 1447
South West 445
Northern Ireland 71
Scotland 714
Wales 233
Close Airports & Seaports 13,154
Close down all UK airports & seaports to prevent further spreading of Covid-19.
We have to work together as a country and stop further spreading of Covid-19, while hand washing and sanitation is still good but it's still spreading via travel. So lets slow the spread by closing down all UK airports and seaports to avoid infected visitors.
Regional breakdown
North East 231
North West 960
Yorkshire and The Humber 559
East Midlands 614
West Midlands 778
Eastern 1068
London 4024
South East 2773
South West 656
Northern Ireland 78
Scotland 781
Wales 270
Close schools with cases 2,900
Change approach to COV-19 - if schools have "confirmed" cases they should close.
The current advice from the Government is that no school should close in response to a suspected (or confirmed) COVID-19 case unless advised to do so by Public Health England.
I do not think this is correct advise, if "confirmed" schools should be closed for deep clean with pupils sent home.
Regional breakdown
North East 77
North West 234
Yorkshire and The Humber 183
East Midlands 159
West Midlands 282
Eastern 262
London 819
South East 409
South West 163
Northern Ireland 45
Scotland 100
Wales 77
Work from home 2,098
Businesses to work from home for an appropriate amount of time amidst COVID19
We would like the government to at least consider closing down offices/businesses and order to work from home as soon as possible, in addition to taking necessary actions to prevent further spread. This will prevent the spread during the commutes and meetings.
Regional breakdown
North East 17
North West 86
Yorkshire and The Humber 58
East Midlands 60
West Midlands 102
Eastern 121
London 1027
South East 226
South West 54
Northern Ireland 12
Scotland 76
Wales 22
Public Testing 1,507
Provide publicly accessible testing for the covid-19 virus around the UK now.
Allocate funds and efforts to the extensive deployment of publicly accessible testing or screening for possible infection of the covid-19 virus.
Regional breakdown
North East 24
North West 91
Yorkshire and The Humber 104
East Midlands 74
West Midlands 76
Eastern 120
London 405
South East 155
South West 142
Northern Ireland 35
Scotland 159
Wales 65
Social Distancing 897
Enforce Moderate Social Distancing to Contain & Delay Sars-Cov-2/Coronavirus
We have seen by now thousands of global leading epidemiologists, virologists and scientific scholars discuss the efficacy of social distancing. We’re not talking lockdown yet, we’re talking everything in between. China have nearly stopped this in its tracts. We want & need action now.
Regional breakdown
North East 23
North West 56
Yorkshire and The Humber 35
East Midlands 29
West Midlands 37
Eastern 45
London 299
South East 107
South West 60
Northern Ireland 55
Scotland 58
Wales 58
Keep schools open 717
Stop schools being closed unnecessarily over fears of coronavirus (Covid-19)
Do not close schools unless that school or someone within that school actually poses a risk of having or testing positive for corona virus and spreading it.
Regional breakdown
North East 31
North West 62
Yorkshire and The Humber 55
East Midlands 40
West Midlands 74
Eastern 69
London 137
South East 128
South West 41
Northern Ireland 7
Scotland 31
Wales 17
Housing Benefit Hours worked 444
Parliament to protect housing benefit payments during Coronavirus.
Housing benefit, and other benefits, require a minimum number of hours to be worked. During emergency Coronavirus measures I want the government to remove the hours worked test to ensure that the emergency health measures do not create additional family misery for those who require benefits top up
Regional breakdown
North East 11
North West 35
Yorkshire and The Humber 23
East Midlands 8
West Midlands 23
Eastern 65
London 119
South East 73
South West 32
Northern Ireland 6
Scotland 40
Wales 5
Help Taiwan join WHO 292
Support Taiwan's membership of the WHO to help fight Coronavirus.
We call on the UK government to support Taiwan's membership of the WHO to aid the fight against Coronavirus. Taiwan's exclusion from this body risks not only the health of the people of Taiwan, but of the international community as a whole, including Britain.
Regional breakdown
North East 7
North West 20
Yorkshire and The Humber 20
East Midlands 13
West Midlands 14
Eastern 18
London 120
South East 26
South West 17
Northern Ireland 0
Scotland 11
Wales 3
Screen people at Airports 185
Start screening every person who enters UK for Coronavirus
Why is there no screening for Coronavirus at the UK airports? There are other countries doing this in order to stop the spread. I strongly believe that this should be done as a matter of urgency to stop further spread into UK. The queues may be long but atleast we can identify and stop the spread
Regional breakdown
North East 4
North West 18
Yorkshire and The Humber 5
East Midlands 4
West Midlands 14
Eastern 14
London 42
South East 35
South West 21
Northern Ireland 5
Scotland 12
Wales 6
Ban large public gatherings 130
Ban large public gatherings in the UK until the coronavirus has been contained
Ban large public gatherings in the UK. This could be determined by either of some threshold on the maximum number of participants, or an assessment of the likelihood of attendees coming from and then dispersing to a wide enough region. Or both, preferably.
Regional breakdown
North East 2
North West 11
Yorkshire and The Humber 9
East Midlands 6
West Midlands 6
Eastern 12
London 27
South East 20
South West 15
Northern Ireland 4
Scotland 12
Wales 4
Suspend VAT/Rates/PAYE 72
Suspend VAT/Business Rates/PAYE Payments for three months amid outbreak COVID-19
Suspend VAT/Business Rates/PAYE Payments for three months amid outbreak COVID-19.
All payments should be delayed until outbreak COVID-19 will be finished and economy get back to normal.
Regional breakdown
North East 4
North West 4
Yorkshire and The Humber 2
East Midlands 3
West Midlands 12
Eastern 10
London 12
South East 4
South West 10
Northern Ireland 6
Scotland 5
Wales 0
Catch It, Bin, Kill It 72
Coronaviruses-Start Educational Campaign: Catch It,Bin It,Kill It When You Spit
We the undersigned, are asking Government and Public Health England to promote a "Catch It, Bin, Kill It" campaign for spitting.
Regional breakdown
North East 1
North West 3
Yorkshire and The Humber 0
East Midlands 6
West Midlands 1
Eastern 4
London 49
South East 0
South West 1
Northern Ireland 0
Scotland 1
Wales 5
Release the Models 47
Release the models underlying the government's response to COVID-19
The government's response appears to be in contrast to regions controlling their outbreaks (e.g. Singapore) and against WHO guidance. There are concerns the Government's approach will involve allowing a large portion of the population to contract COVID-19.
Regional breakdown
North East 0
North West 5
Yorkshire and The Humber 0
East Midlands 1
West Midlands 1
Eastern 6
London 24
South East 1
South West 6
Northern Ireland 0
Scotland 0
Wales 1


I bought two emonTx V3's last summer, and have them both feeding an emonBase via RF.
One works perfectly. The other one runs for a few weeks and then appears to freeze. Its data is no longer appearing on the emonPi.
Other than putting on a timer to periodically repower it (not a good thing), what else can I do? I don't see a replacement circuit board for sale on the site.
Tks.
Re: emonTx locks up after a week or two, needs to be repowered
Are both running the same sketch?
Have you any idea where/why it locks up - might it be temperature-related, for example? Or a massive burst of interference from another appliance?
The first thing I would do is take a hand lens and very carefully look at the soldering on the radio module. That is the likeliest area for a fault that would stop it completely.
The assembled emonTx V3 is available from the Online Store without a case and accessories, I would not recommend trying to obtain a bare PCB and transferring the components.
Re: emonTx locks up after a week or two, needs to be repowered
Also when you say "appears to freeze. Its data is no longer appearing on the emonPi." is it possible the emonTx is still sending but the packets are not recieved? can you still see an led flash (assuming it' not battery powered) ? if there is usually a flashing led.
What do you have connected to this emonTx (and is that the same as the other) ? depending on the era or emonTx is pulse counting ? or running a continuous sampling sketch with accumulating Wh's that could cause a possible roll over issue? Do you have temperture sensors, if so how many?
Again depending on era (last summer this is the most probable) do you have upto 6 unpopulated temp sensor values all reporting 0? This could cause "bitslip" at the reciever (emonPi)..
If the led is flashing and the firmware/hardware combo fits we can try and check for discarded packets.
Paul
Re: emonTx locks up after a week or two, needs to be repowered
Those are a lot of good thoughts from both response. Thank you.
Both emonTx's are as they came from the factory from last year, with no sketches uploaded since purchase. They are V3 but I am not sure of the firmware version - is there a way to tell?
The two units are id 10 (the failing one) and 9 and are feeding the same emonHub. Both units are indoors, sitting side by side on a shelf, so temperature shouldn't be an issue - or if it was, I would expect problems with both units. The failing unit has 4 current sensors, a pulse counter (optical) and one temperature sensor. The non-failing unit has 4 current sensors only. I don't know the firmware versions, but both units were purchased last summer (27 July, 14 Aug) - the failing one first and then the other one.
Unfortunately, I had re-powered it before I thought to check the LED, but I believe from prior failures that the LED on the emonTx stops flashing.
Because I have two units feeding into a single emonBase, and one is working, I don't think RF interference is an issue or it would hit both TX's, and for the same reason I don't think the receiving unit is the problem.
Per roll-over - the pulse counter does roll over, but that appears to not be a problem.
Regarding unpopulated temp sensors - the working unit has no temp sensors, the failing unit has one.
As far as discarded packets... there are other devices on the same frequency (I'm not sure what they are, but I can see them on a spectrum analyzer). This results in a fair number of discarded packets during normal operation. If the emonTx was having its packets discarded, I'm not sure how I would tell the difference. Also, I would think bit-slip would be a problem all the time, not just show up after it has been running a few weeks and then lose absolutely every packet.
I think it is most likely that the emonTx is simply stopping running or it's RF board croaked. Unfortunately, since I fixed it without looking for the flashing LED, I can't be certain. I believe that in past failures, the LED had stopped flashing, though.
Does the software use a watchdog, as is common in embedded systems? The ATMega series has a built-in watchdog timer that will reset the CPU if the firmware doesn't "pet" the watchdog periodically, but it has to be enabled and the petting software has to be done in a way that any persistent problem will result in no petting.
I will take a close look at the RF unit on the failing unit for solder issues, as mentioned. If I can't solve it, I guess I'll just cough up the 60 pounds and shipping to the US. I notice that the store no longer offers node 9 or 10 options. I guess I'll have to program the new one to 10, or redefine my 6 sensors to 8.
Below is log output for one packet from the unit that fails:
2016-01-12 17:04:07,719 DEBUG RFM2Pi 7 NEW FRAME : OK 10 0 0 25 0 4 0 253 255 131 46 0 0 0 0 0 0 0 0 0 0 0 0 135 33 (-39)
2016-01-12 17:04:07,722 DEBUG RFM2Pi 7 Timestamp :<PHONE_NUMBER>.72
2016-01-12 17:04:07,723 DEBUG RFM2Pi 7 From Node : 10
2016-01-12 17:04:07,724 DEBUG RFM2Pi 7 Values : [0, 25, 4, -3,<PHONE_NUMBER>0000001, 0, 0, 0, 0, 0, 0, 8583]
2016-01-12 17:04:07,725 DEBUG RFM2Pi 7 RSSI : -39
Re: emonTx locks up after a week or two, needs to be repowered
"I notice that the store no longer offers node 9 or 10 options."
If you speak nicely to the shop, they might be able to program one to nodeIDs 9 & 10 for you.
Re: emonTx locks up after a week or two, needs to be repowered
I would not be surprised if it was the run of 12 zeros (96 zero bits) causing the dropouts, or even a slightly different loop time causing this emonTx to be blocked by the other.
Unfortunately the emonPi firmware does not allow the "discarded" packets to be logged, once they fail the crc they are forgotten. Normally you could set "quiet = false" in emonhub and we could see for sure what was occurring.
Do you by any chance have another "RFM" device like a rfm2pi or jeelink?
The node 9 or 10 choice in the shop was from the days prior to the DIP switches being fitted when it required an edit to the sketch. now you have the choice of 2 node ids on every emonTx (4 on an emonTH), you just flick the switch.
Do you have a programmer? the later firmware for the emonTx uses non-zero values for unused temp sensors so that possibility could be removed with a routine update.
Paul
Re: emonTx locks up after a week or two, needs to be repowered
@pb66... This hypothesis doesn't explain why it works okay for weeks and then stops working, but starts immediately after being repowered.
If the data is transmitted async (which I thought it was), each character would have a start and one or more stop bits. One of those would not be zero (I don't remember which these days - I think the stop bit). Async transmission can send zeroes forever without losing sync. Synchronous protocols use other techniques (bit stuffing or sync bytes) to deal with repeated zeros to guarantee there are enough transitions that the UART/USART can maintain sync.
On the other hand, you say they use non-zero values now.
I noticed that the new emonTx's have the dip switches. I don't know what mine have (I haven't opened them up). It's interesting that they only have two choice - two switches allow for 4 choices. I guess they didn't want to confuse people with binary - not a bad idea.
Tks for the thoughts.
Re: emonTx locks up after a week or two, needs to be repowered
You'll find details of the message format on the JeeLabs website. There are no 'characters' as such and no start and stop bits, it's transmitted as one long bit stream, and not Manchester encoded.
On the emonTx, one DIP switch is used for voltage selection (230/110 V), the second for nodeID.
Re: emonTx locks up after a week or two, needs to be repowered
Wow! Raw bits, no synchronization! Looking at the board I have, it looks like it has a 32kHz frequency reference - ceramic resonator or crystal, I can't tell. Either should be good enough to not require sync for quite a few bits, assuming the receiver behaves itself when slicing the bits.Thanks for the info.
Anyway, I don't think that's the problem with my system, unless somehow the clock on the defective emonTx drifts very slowly, but consistently, and recovers after a 1 second power bounce. I think that's unlikely.
On the dip switch, thanks for the correction.
Re: emonTx locks up after a week or two, needs to be repowered
If you want to look at wireless transmissions, you can use a cheap USB DVB-T receiver (under £10 from eBay) and rtl_433. I haven't yet got it actually decoding the emonTx signals but we're working on it.
It can certainly do the basic captures, which users could submit and someone with more clue could interpret for them.
https://github.com/merbanan/rtl_433_tests/pull/67 has a couple of example captures; there's a waveform image there too.
Re: emonTx locks up after a week or two, needs to be repowered
Thanks. I looked at the received bit stream some time back just by putting a digital oscilloscope on the right pin coming out of the receiver on the emonBase. However, I don't know if that is a faithful reproduction, or if the RF board is decoding the bit stream and reencoding it. It's a bit opaque to me what is happening on the RF boards.
Re: emonTx locks up after a week or two, needs to be repowered
The RF board will definitely be decoding the bit stream. You'll get nice clear bits from it, with all the edges in the right places. If the problem is in the RF and timing side, you'll not see it at all; just corrupt bits.
With a RTL2832 DVB receiver, you can see the actual waveform. As shown in the picture in that pull request for example, at https://raw.githubusercontent.com/merbanan/rtl_433_tests/d0770373ae5ba18...
Although we don't yet have rtl_433 decoding the data (qv), you could at least compare the working and non-working transmissions.
Re: emonTx locks up after a week or two, needs to be repowered
Thanks. The SDR radio does look like a nifty tool.
In my case, all transmissions work, except after a while, one transmitters data goes missing. I am going to wait for the next failure to see if the problem is that the unit just locks up, as I suspect, as opposed to continuing to transmit but not having the data received properly. Then, I might try the SDR. Or I might give up and buy a new emonTx.
Re: emonTx locks up after a week or two, needs to be repowered
Since you're probing, if you find there's nothing coming out on the RF side, it might also be worth looking at /CS, SCLK and /IRQ. Activity there would indicate the AVR is still hammering away at it. Lack of activity would be less conclusive, but since it happens rarely, the more data you can collect the better.
Re: emonTx locks up after a week or two, needs to be repowered
FWIW the emonTx support is now merged into rtl_433 upstream so you should be able to use that for diagnosis of wireless issues fairly easily.
Re: emonTx locks up after a week or two, needs to be repowered
Can you give more details? I'm not sure what you mean.
Re: emonTx locks up after a week or two, needs to be repowered
My system is now back in the state where my emonTx (#10) appears to be doing nothing but emonTx (#9) is working. Both are V3.2.
It is AC powered, and from my reading, that means the red LED should flash every once in awhile. It is not.
It is also not showing up in the emoncms.log on the pi, but the other emonTx (#9) is showing. That emonTx (#9) also is not blinking a red light, but it is DC powered so maybe it isn't supposed to.
The end of the log is below.
Any more ideas of what to try?
Re: emonTx locks up after a week or two, needs to be repowered
Are you able to probe signals with your scope? If so, check out those signals I mentioned above to see if there's any action on the SPI bus.
Re: emonTx locks up after a week or two, needs to be repowered
Did you not check if the led flashing whilst the unit was working? without seeing the exact firmware it's difficult to know if "not flashing when not working" is helpful. What you are looking for is an "led flash when not working" as a sign of life or a "change in behavior when it stops working".
The emoncms log you provided only shows node 9 continue to work not node 10 stop, but it's unlikely to show anything more than it just stop. The most useful logs for this type of debugging is emonhub.log, the loglevel should be set to "DEBUG" in emonhub.conf. In the emonhub.conf you should also set "quiet = false" in the [[[runtimesettings]]] of the [[RFM2Pi]] section.
The "bitslip" issue was really the only reason the positive fault indication of 300 was added to current sketches. I am not going to try and convince you it IS that when it is only one of several possibilities. The pattern of occurrence is a little odd but does not rule it out. Previously I was only guessing you had more than one available temp sensor value in the payload but your log above confirms 6 unused temp sensors. The fact that the device in question has one occupied would suggest it is less likely to occur, but the fact this one is ACAC powered and the other ACDC powered could counter that theory, certainly adding pulse counting into the mix on ACAC and you may be stretching things a little further than the other device with less load and a better supply.
What is that single temperature sensor reading does it drop to zero degrees every 2 weeks causing a longer run of zeros and therefore bitslip?
That load and power supply could also make the other node a more dominant rf signal and/or slightly faster loop without the pulse counting of temperture, this could mean that when the 2 devices rf payloads clash, the other device prevails causing a long period of no data from this one, that if left long enough may play out and resume.
The emonTx v3.2 had a rfm12 so I don't think the addition of a temp sensor and pulse sensor should cause an power supply issue alone, but payload, workload, ambient temperature, supply voltage, temperature sensor reading, component tolerances and any variation in rf behavior of it's brother, the receiver or "other devices" introduce enough variables to warrant skipping the "in-theory" debugging and get some actual data to work with.
What we are looking for is packets beginning with a "?" in emonhub.log.
What is your emonBase ? rfm12 or rfm69 ? some firmwares (including emonPi) will not pass the discarded packets to emonhub, if this is the case you can probally update the firmware quite easily, What OEM image are you running?
Paul
EDIT - "Both are V3.2" are you sure? the v3.4's were launched before the emonPi. Did you buy all you stuff in one go or did you have a working system before the emonPi? I ask as the emonPi will not output the "discarded packets" originally I believed you had an emonPi but the recent mention of v3.2 emonTx's pre-dates the emonPi so my reply today is based on you having a RFM2Pi board. If you do only have the emonPi we could temporarily load a RFM2Pi sketch to it for debugging (will need to recompile a hex for 16MHz)
Also regardless of the outcome of this thread, as both units are side by side, it may be a good idea to consider using the ACDC to power both units and the ACAC as a reference only to both units. That way they both get a stable 5vdc with plenty of headroom and all 8 ct's are more accurate, 4 from introducing an AC signal to reference and the other 4 from an undistorted (by power demand) reference.
Re: emonTx locks up after a week or two, needs to be repowered
Hi,
Thanks for the correction on which log to use. I will include log output below.
I will respond to the rest interpolated in your message below. First, though, some new info, from tests suggested by our exchange...
I put my spectrum analyzer on 433.92 and can see the packets. The ones from the working node are far stronger than the others in the environment, so I set the squelch so that only those packets produce an audio for me to hear. The strong signals are always correlated with the working emonTx (#9) - per the emonhub logs.
Then, I unpowered #9, and reset #10 (the bad one) by removing and returning power to it. Now I can hear #10 on the spectrum analyzer when its red LED blinks, and its packets are showing up in the log OK.
This is very strong evidence that #10 had simply quit transmitting, for whatever reason, and it resumed after I repowered it. FWIW it blinked 10 times (if I counted right) when I repowered it.
Also, now that it is working, the LED is flashing with each transmission. It was not flashing before.
Assuming that it is simply stopping, as shown, what do I do? Buy a new one? Send it back for repair? Or more analysis and experimenting?
... on to the other analysis...
 I just assumed it was supposed to flash, and had a memory of it flashing, but its been a few months so I wasn't sure. [after re-powering, it now flashes with each transmission]
Oops, wrong log. I am now including output from the emonhub log - before repowering node #10. It shows lots of bad packets, but those are from other devices not part of this system.
I cannot dispute the experience - obviously that change wasn't just put in for fun. I was just surprised to run into a protocol that didn't provide adequate transitions for bit synchronization, and I was guessing about the accuracy of the clocks. I'm glad it's fixed in the latest version.
I don't see why it would work fine for a week or two and then experience a bit slip on every packet forever. What I see is that data comes in properly until a time after which it comes in not at al [verified by looking at the graphs]l. I don't see the data start to be bad and drift into always bad - it is just bad for up to several weeks at a time.
The temp since the most recent failure has been well above either 0F or 0C. I live in Phoenix, AZ, but it does occasionally get down to 0C. BTW, it turns out I have a temp sensor on both emonTx's, so I have a record of the temperatures.
That's a good thought. However, I have had perfect outages (absolutely no data from #10) that last for weeks. Also, I just now unpowered the other emonTx and still see no packets from #10, so I think we can rule that possibility out.
...
The base is an rfm69 at 433.92 MHz. Lots of discarded packets are showing up in the emonhub log.
Sorry for the confusion - I called it a "pi" because there's a pi in it. I don't have an emonPi. I have an emonBase. My base and the Tx that is having problems were purchased in July of 2014 and the Tx that is not failing was purchased on Aug 14, 2014. The firmware version isn't mentioned in the receipts and I don't know how to find it, but I'm think it's 3.2. Is there a way to tell?
Good idea. I will do that.
Paul, thanks for all the good ideas!
John
2016-01-24 18:17:35,037 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 33 220 194 224 175 100 76 246 66 188 146 92 32 105 19 208 255 63 251 237 129 (-93)
2016-01-24 18:17:36,150 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 165 134 165 61 250 31 200 61 163 161 61 218 70 243 247 66 60 232 114 108 6 (-92)
2016-01-24 18:17:36,356 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 156 198 105 62 98 220 228 52 221 127 159 27 5 156 3 97 226 228 160 65 129 (-92)
2016-01-24 18:17:36,762 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 16 9 95 160 153 14 93 52 231 195 64 35 47 21 238 32 224 184 122 192 89 (-91)
2016-01-24 18:17:37,870 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 131 116 111 247 25 243 1 123 180 135 52 175 234 70 134 140 128 145 245 202 213 (-92)
2016-01-24 18:17:38,780 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 155 172 103 7 255 32 122 40 59 220 121 3 44 158 177 108 42 51 147 215 223 (-93)
2016-01-24 18:17:44,204 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 10 185 175 248 222 206 230 176 45 159 2 227 6 220 226 57 74 188 235 176 15 (-91)
2016-01-24 18:17:46,214 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 9 2 0 0 0 0 5 0 18 2 151 0 0 0 0 0 0 0 0 0 0 (-37)
2016-01-24 18:17:49,130 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 176 121 163 36 230 168 205 58 5 250 37 72 92 55 97 40 146 100 139 148 31 (-93)
2016-01-24 18:17:50,655 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 186 209 141 35 138 52 210 247 180 23 135 6 195 60 94 228 176 98 173 80 238 (-90)
2016-01-24 18:17:53,566 INFO emoncmsorg sending: http://emoncms.org/input/bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1453659453,9,2,0,32,7,5.2700000000000005,15.100000000000001,0,0,0,0,0,0,-37]]&sentat=1453659473
2016-01-24 18:17:53,884 DEBUG emoncmsorg acknowledged receipt with 'ok' from http://emoncms.org
2016-01-24 18:17:54,820 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 15 124 63 218 171 1 129 99 157 240 235 166 174 79 17 110 190 31 138 188 115 (-91)
2016-01-24 18:17:54,928 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 29 154 206 254 117 150 24 240 241 126 53 128 27 68 160 37 236 98 108 214 248 (-94)
2016-01-24 18:17:57,003 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 147 187 143 93 162 2 229 108 254 181 253 107 228 229 211 190 130 158 160 194 28 (-93)
2016-01-24 18:17:57,817 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 14 199 179 34 227 103 209 110 142 227 122 136 133 31 57 41 226 91 227 0 131 (-95)
2016-01-24 18:17:58,123 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 4 173 43 43 246 98 28 102 32 253 42 181 54 44 120 112 114 250 137 39 103 (-90)
2016-01-24 18:17:58,851 DEBUG RFM2Pi 2963 NEW FRAME : OK 9 2 0 0 0 33 0 4 0 18 2 151 0 0 0 0 0 0 0 0 0 0 0 0 0 (-36)
2016-01-24 18:17:58,855 DEBUG RFM2Pi 2963 Timestamp :<PHONE_NUMBER>.85
2016-01-24 18:17:58,856 DEBUG RFM2Pi 2963 From Node : 9
2016-01-24 18:17:58,857 DEBUG RFM2Pi 2963 Values : [2, 0, 33, 4, 5.3, 15.100000000000001, 0, 0, 0, 0, 0, 0]
2016-01-24 18:17:58,857 DEBUG RFM2Pi 2963 RSSI : -36
2016-01-24 18:17:58,858 INFO RFM2Pi Publishing: emonhub/rx/9/values 2,0,33,4,5.3,15.1,0,0,0,0,0,0
2016-01-24 18:17:58,861 DEBUG RFM2Pi 2963 adding frame to buffer => [1453659478, 9, 2, 0, 33, 4, 5.3, 15.100000000000001, 0, 0, 0, 0, 0, 0, -36]
2016-01-24 18:17:58,862 DEBUG RFM2Pi 2963 Sent to channel' : ToEmonCMS
2016-01-24 18:18:02,827 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 148 46 61 23 96 219 71 232 255 191 93 198 219 51 101 140 170 123 227 39 255 (-90)
2016-01-24 18:18:08,697 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 27 (-93)
2016-01-24 18:18:11,527 DEBUG RFM2Pi 2964 NEW FRAME : OK 9 2 0 0 0 34 0 4 0 18 2 151 0 0 0 0 0 0 0 0 0 0 0 0 0 (-38)
2016-01-24 18:18:11,530 DEBUG RFM2Pi 2964 Timestamp :<PHONE_NUMBER>.53
2016-01-24 18:18:11,530 DEBUG RFM2Pi 2964 From Node : 9
2016-01-24 18:18:11,531 DEBUG RFM2Pi 2964 Values : [2, 0, 34, 4, 5.3, 15.100000000000001, 0, 0, 0, 0, 0, 0]
2016-01-24 18:18:11,532 DEBUG RFM2Pi 2964 RSSI : -38
2016-01-24 18:18:11,533 INFO RFM2Pi Publishing: emonhub/rx/9/values 2,0,34,4,5.3,15.1,0,0,0,0,0,0
2016-01-24 18:18:11,534 DEBUG RFM2Pi 2964 adding frame to buffer => [1453659491, 9, 2, 0, 34, 4, 5.3, 15.100000000000001, 0, 0, 0, 0, 0, 0, -38]
2016-01-24 18:18:11,535 DEBUG RFM2Pi 2964 Sent to channel' : ToEmonCMS
2016-01-24 18:18:13,445 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 69 72 185 181 232 254 139 87 188 197 200 253 216 241 28 73 48 26 167 153 42 (-97)
2016-01-24 18:18:21,324 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 13 148 239 192 255 194 174 51 126 98 139 64 110 167 50 61 1 178 238 47 60 (-95)
2016-01-24 18:18:22,332 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 55 223 81 89 123 172 159 21 24 231 42 127 183 172 85 203 75 59 170 97 123 (-91)
2016-01-24 18:18:23,025 INFO emoncmsorg sending: http://emoncms.org/myip/set.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y
2016-01-24 18:18:23,645 INFO emoncmsorg sending: http://emoncms.org/input/bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1453659478,9,2,0,33,4,5.3,15.100000000000001,0,0,0,0,0,0,-36],[1453659491,9,2,0,34,4,5.3,15.100000000000001,0,0,0,0,0,0,-38]]&sentat=1453659503
2016-01-24 18:18:23,956 DEBUG emoncmsorg acknowledged receipt with 'ok' from http://emoncms.org
2016-01-24 18:18:23,984 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 40 11 224 200 32 217 246 31 62 213 93 83 116 106 231 71 248 173 164 59 207 (-92)
2016-01-24 18:18:24,190 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 9 1 0 0 0 0 5 0 18 2 151 0 0 0 0 0 0 0 0 0 0 (-39)
2016-01-24 18:18:25,937 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 133 111 62 242 155 222 82 158 0 123 132 29 163 100 24 182 232 79 82 30 63 (-94)
2016-01-24 18:18:35,423 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 27 0 245 72 113 73 228 24 187 61 79 150 109 7 43 64 133 145 225 150 227 (-93)
2016-01-24 18:18:36,857 DEBUG RFM2Pi 2965 NEW FRAME : OK 9 2 0 0 0 33 0 5 0 18 2 151 0 0 0 0 0 0 0 0 0 0 0 0 0 (-38)
2016-01-24 18:18:36,860 DEBUG RFM2Pi 2965 Timestamp :<PHONE_NUMBER>.86
2016-01-24 18:18:36,861 DEBUG RFM2Pi 2965 From Node : 9
2016-01-24 18:18:36,863 DEBUG RFM2Pi 2965 Values : [2, 0, 33, 5, 5.3, 15.100000000000001, 0, 0, 0, 0, 0, 0]
2016-01-24 18:18:36,864 DEBUG RFM2Pi 2965 RSSI : -38
2016-01-24 18:18:36,865 INFO RFM2Pi Publishing: emonhub/rx/9/values 2,0,33,5,5.3,15.1,0,0,0,0,0,0
2016-01-24 18:18:36,867 DEBUG RFM2Pi 2965 adding frame to buffer => [1453659516, 9, 2, 0, 33, 5, 5.3, 15.100000000000001, 0, 0, 0, 0, 0, 0, -38]
2016-01-24 18:18:36,868 DEBUG RFM2Pi 2965 Sent to channel' : ToEmonCMS
2016-01-24 18:18:36,976 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 137 249 191 122 49 197 231 79 54 165 207 26 188 221 171 26 127 151 79 198 139 (-95)
2016-01-24 18:18:47,165 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 29 219 227 207 175 64 125 36 110 4 56 187 3 114 195 80 56 222 117 200 179 (-93)
Re: emonTx locks up after a week or two, needs to be repowered
"It shows lots of bad packets, but those are from other devices not part of this system."
Agreed most of the discarded packets are garbage and the rssi of most are -90+, but there is one in that excerpt
2016-01-24 18:17:46,214 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 9 2 0 0 0 0 5 0 18 2 151 0 0 0 0 0 0 0 0 0 0 (-37)
That is supposed to be a valid packet and I strongly suspect "bitslip", but that's just one packet and the wrong device.
From your findings it certainly sounds like the emonTx is just stopping rather than the rf signal being lost, dropped or malformed. I would certainly consider some other things before rushing out to buy a new one though. firmware and power supplies (as suggested above) at least.
Do you have a programmer ?
v3.2 is the hardware version not the firmware version, using the programmer you may be able to determine the installed firmware or at least install a known/latest version.
I had no idea the outages were lasting weeks, that is a very definite stop...dead! so firmware or hardware is fast becoming stronger suspects.
Paul
Re: emonTx locks up after a week or two, needs to be repowered
Paul... sorry I didn't make it clear sooner about the long lasting failure.
I will try the dc supply in addition to the AC reference.
Could this really be a firmware issue? Usually this sort of failure, at least on a system with a watchdog, is a hardware failure. but if it doesn't use the watchdog right, a firmware error can cause it. Do you know if others have reported similar problems and they have been found to be firmware?
Re: emonTx locks up after a week or two, needs to be repowered
I've seen a lot of AVR hangs, and I think I can honestly say they've always been firmware loops... usually f/w looping on external h/w that has failed to respond (which may be because that small piece of h/w has failed or reset unexpectedly). The most recent one I worked on was a Vcc glitch that was low enough to reset a device on the SPI bus, but not low enough to trigger the AVR BOD. Further investigation revealed it was a power supply problem.
And yes, you're right: the AVR wdog is very useful for diagnosing such stuff, especially if you run it in it's two-stage mode. On the first firing, you can capture machine state (including the PC) and store it away in non-volatile storage, then on the second firing, you can let it reset the AVR. Even then you really need a way for your f/w to be able to reset all the external h/w, otherwise you run the risk of the AVR starting afresh, but the various h/w it's talking to all being in some previous state.
AFAIK, Jellib uses the wdog to wake the AVR from a deep sleep. I'm not sure that it then continues to use it to ensure the system is running normally once awake, but it's all open-source so you could check (unless anyone else knows?)
If you assume for a minute your AVR is still running, then you need to go looking at why it would stop blinking the LED. I'm not familiar with the RF module and the Jeelib stuff, but a quick glance in there suggests it runs quite a state machine, and there are several places it hammers away on the RF module until a specific event happens. That's why I proposed you look to see if there's still activity on the SPI bus during the hang.
Re: emonTx locks up after a week or two, needs to be repowered
I agree with your analysis of AVR and watchdogs. I've done a bunch of comercial products where the product had to keep running no matter what - as long as it had power, and I used the watchdog to assure that. With thousands of installations, I've never heard a complaint where it was locked up and repowering it solved it.
The Red LED is driven directly by the ATMega328, so it's a strong (but not conclusive) argument that the processor is stopping. Given that,I don't think there is productive diagnostics I can do beyond this. If the behavior persists with the DC supply (and I expect it will), then I'll have to buy a new RFu328 or a new emonTx V3.4 (or maybe, if they sell it, a new emonTx populated board).
Thanks
John
Re: emonTx locks up after a week or two, needs to be repowered
I don't share your confidence that the watchdog is enabled. At any rate, it's pretty easy to test. Simply add this line to the main loop of the sketch:
while (millis() > 60000);
If after a minute the device just hangs, with no more LED flashing, then we've replicated your symptoms without any hardware issue. If it reboots, then we know the watchdog is indeed watching and an infinite loop is unlikely to be causing what you're seeing.
Assuming for a minute the wdog isn't enabled, then any loop that has the possibility of running forever could be the cause of your symptoms. There seem to be plenty of them in the RF code:
Most of them seem to bang on the RF module waiting for it to do as expected, but if it doesn't I can't see any escape clause. So putting your scope probe on the SPI signals might help you pinpoint what's broken.
Re: emonTx locks up after a week or two, needs to be repowered
As far as I'm aware the watchdog is only used in the JeeLib sleepy functions but I cannot be absolutely sure.
Since we do not know exactly what firmware you are using it is difficult to know if it has been revised at any point, I have looked at the repo but a reorganisation in summer last year prevents searching the commits history.
There have been revisions to the JeeLib library and I cannot rule out any other changes since the compilation of an sketch of un-confirmed revision. Even if I had bought the device recently and there were no known issues or revisions to the firmware I would still try a free, quick and simple firmware update long before I would shell out postage to return a device let alone buy a new one.
In fact if I had a programmer (still unsure if you do) connecting it may tell us the firmware revision and at this point in the game, whether it did or it didn't, or whether it was the latest or not, I would still update it so that I knew exactly what was installed for future reference.
As highlighted by dBC, it could be hanging on an rf12 function. That could be brought about if there is a power supply issue that only effects the rfm module, I don't think they are as accommodating as the avr's with respect to voltage, so just using the 5vdc supply for both emonTx's may well fix the issue.
Paul
Re: emonTx locks up after a week or two, needs to be repowered
"Most of them seem to bang on the RF module waiting for it to do as expected, but if it doesn't I can't see any escape clause. "
"it could be hanging on an rf12 function"
Both seconded. Almost all the reported problems with the sketches hanging have turned out to be at calls to the RF module, and (from memory) all of those have been the RF module not responding due to a bad joint.
Re: emonTx locks up after a week or two, needs to be repowered
Robert - I had wondered at first glance if that was supposed to be
"Most of them seem to bang on about the RF module waiting for it to do as expected,"
perhaps referring to the likes of you and me :-)
Paul
Re: emonTx locks up after a week or two, needs to be repowered
You could be right! But no, I think it meant hang (the keys are diagonally adjacent).
Re: emonTx locks up after a week or two, needs to be repowered
It was more like: I'm going to bang on this ball joint with my hammer until it does what I want.
If anyone out there with some OEM h/w and a couple of minutes to spare could briefly add:
while (millis() > 60000);
to their main loop, we'd know for sure if the watchdog is enabled (at least in the f/w version they're running). It should either reset every minute (watchdog enabled) or hang indefinitely after a minute (no watchdog). A quick browse of https://github.com/jcw/jeelib/blob/master/Ports.cpp makes me think it isn't. All the WDTCSR manipulations seem to be setting it up for deep sleep wakeup, and not system resets, but I could have easily missed something in other modules.
If the radio module does occasionally get into some state that requires a hard reset, then enabling the AVR watchdog won't help. That'll break the AVR out of it's immediate loop, but without a mechanism for the freshly-restarted f/w to force a hard reset of the radio module, it's likely to quickly end up back in the loop.
Re: emonTx locks up after a week or two, needs to be repowered
I will be interested to see if someone runs that test.
As for a hard reset... I would hope that on startup, the AVR hard resets all peripheral devices that need resetting. That's standard practice in systems that need watchdogs - without doing that, the watchdog is really a waste of time. For example, brownouts can cause logic other than the CPU to get in bad states.
It looks like the production code is probably built from emonTxFirmware-master 2/emonTxV3/RFM/emonTxV3.2/emonTxV3_2_DiscreteSampling although the comment in the repo has a different URL, one that is broken.
That code uses an object called Sleepy and assigns the watchdog interrupt to a function in Sleepy. That function, in the emon version of Jeelib, just counts.
But... I don't know what mode the watchdog is in. These things have 3 different programmable modes, and also 3 fuses! One programmable mode would allow the code I saw to still have a hard reset: the "Interrupt and System Reset" mode. But, I cannot tell from reading the code what is going on - at least not without reading the Arduino framework code.
Anyway, here's the link to the full datasheet for the ATMega328.
So, if anyone knows, or does the experiment, I'd love to know whether there really is a working watchdog in this beast - that is, working in the sense of resetting the processor in case of a loop.
Re: emonTx locks up after a week or two, needs to be repowered
I would hope that on startup, the AVR hard resets all peripheral devices
I can't see any provision for the AVR to hard reset the RF module in the schematic, can you?
without doing that, the watchdog is really a waste of time
Maybe that's why nobody has bothered to enable it (other than to use it for deep sleep wakeups).
Re: emonTx locks up after a week or two, needs to be repowered
I don't see a way for it to reset the RF board. But... I don't know if the RF board needs resetting, since I don't know what's on it and whether it has a CPU with a watchdog. Mysteries abound.
However, even if it has a failure mode, there's no reason for the Arduino CPU to not protect itself with a reset on watchdog. Maybe not every failure can be caught, but it is still good practice.
Re: emonTx locks up after a week or two, needs to be repowered
Mysteries abound.
There may be one less mystery if you probe the SPI signals next time it hangs.
there's no reason for the Arduino CPU to not protect itself with a reset on watchdog. Maybe not every failure can be caught, but it is still good practice.
Hey, it was you who declared "without doing that, the watchdog is really a waste of time". If you think it'll help, then enable it. You know what they say about opensource... if you don't like it, rewrite it.
Re: emonTx locks up after a week or two, needs to be repowered
@meso,
I don't know if the RF board needs resetting, since I don't know what's on it and whether it has a CPU with a watchdog
The RF Modules have an RF engine driven by a state machine - some state transitions have timers associated, but there is no formal watchdog "reset" to a known state. 'Power on Reset' has this function.
One works perfectly. The other one runs for a few weeks and then appears to freeze.
Identical code and same base hardware, sitting on the same shelf you said. Once you have eliminated the obvious (e.g. swapping power sources between them) surely this points to a hardware issue? Then implementing your version of a watchdog would simply mask the problem?
Good enough for Government work I suppose - look forward to seeing your results.
Re: emonTx locks up after a week or two, needs to be repowered
Actually, if meso implements it well, the watchdog can be a very useful diagnostic tool, Even if it's not possible to bring a wedged RF module back to life (due to nothing being connected to the module's /RESET pin) you can gather lots of useful information about where the AVR got wedged, and that will often point to what's broken/flakey.
On my AVR-based hardware I keep lots of health status (shown below), and additionally if there has been a WDOG reset, I also record:
Knowing the AVR PC at the time the wdog fired, the last known process-id, the link state of all the ethernet ports and which SPI /CS's were asserted has helped me isolate h/w failures. Although as I mentioned above, that was just the first step... the ultimate culprit in that case was the power-supply glitching Vcc, but it was all this wdog info that lead me down that path.


3.4%
Engagement
1.65%
CTR
7+
Relevance Score
750K
Audience Size
$2.75
CPM Price
78%
Active Fans (L90)


A student from Asia Pacific College who loves technology, video games, programming and practical shooting!
I love to fingerboard, its basically a tiny skateboard for fingers.
I love to fingerboard, its basically a tiny skateboard for fingers
I love to do competitive practical shooting, specifically in the Production Optics category, i use the CZ Shadow 2 with an RMR.
I also love to play musical instruments, specifically the drums. I also play the guitar and the bass.
I love playing with techonology and pc parts.
I love playing video games like CSGO!
Social design
Gestural interaction
Design tools


Get sustainable at home through small actions
Use the form to contact us about any issues, complaints or even a compliment or two! We will aim to get back to you within 5 business days.


Milan offer Zlatan €6m
by Agency ReportThe ball is in Zlatan Ibrahimovic’s court, as Milan reportedly offered a six-month deal with an option to extend the contract for an additional year, worth a total €6m.
The 38-year-old is set to leave MLS club LA Galaxy in December and a return to Milan looks very likely, after the reports on established contact between the player and club’s representatives.
Now it’s reportedly up to the former Sweden international to make his choice, and the Gazzetta dello Sport claims that Milan has offered to pay the superstar €6m if he stays on for 18 months.
It’s previously been suggested that Ibrahimovic would want €1m per month, but Milan look prepared to offer him one third of that.
The initial deal offered by sporting director Zvonomir Boban to the player’s agent Mino Raiola is said to be a six-month contract. Over the phone, Zlatan has told Boban that he will decide on his future within a few weeks.
Milan are back in Serie A action this weekend, when Napoli come to visit and need to respond from a slow start to the season, leaving them 14th in the League after 12 games.


Forest.
Home
Portfolio
About
Contact
Get Stranded.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime, voluptate!
Explore


Emergency Outdoor Patient
General Indoor Patient
Diagnosis Entry
Diagnosis
ICD10 Code
Required
Diagnosis
Required
Comment
Required


{% extends "sculpture/display/base.html" %} {%block title%}Diocese: {{diocese}}{%endblock%} {%block breadcrumb%}
Sites in this diocese: medieval and now.
Images in this diocese: medieval and now.


All claims
Make a new money claim| Claim number | Defendant | Claim amount | Next steps | Deadline ▲ | |||||
|---|---|---|---|---|---|---|---|---|---|
| Sort by: Claim number Defendant Last update Next steps Deadline ▲ | |||||||||
| 352MC733 |
Mary Richards |
£300 |
Waiting for the defendant to respond |
- | View | ||||
| - | Michael Jones | £1,500 | - | - | Continue draft |


|
Current time (EST):
|
Welcome to the BETA version of Goo$! More updates are expected in the future, and expect rapid changes.
Version 1.0.3 is now out! As you probably have noticed, the original Goo homepage has changed drastically. Temporarily, we are calling this Goo2. At some point, we will post the code here in Goo$. However, for now you can right click the homepage and "View Page Source". The code isn't pretty, but it works. We'll be getting to working on that shortly. :)
Goo$ will mainly be a teaching tool on programming. It will target beginners, but will eventually have tutorials for various ranges of abilities. We are very early in the process of making basic HTML tutorials.
Click here to go back to the home page. How does Goo2 look?
Version 1.0.2 has been released with more browser support. See your browser information at the bottom of this page. If you see nothing indicating this, then
you may or may not recieve browser support in the future. We will try to optimize this website for as many browsers and systems as we can.
Goo$ is currently in BETA mode. Work starting on 4/14/2013 and is still in an early stage of design process. Version 1.0.1 has been released with added time,
in the upper right hand corner. Currently JavaScript is required to run most of this page, and will probably stay that way. A five minute refresh period has been
added, and will be changed if this becomes too annoying to the viewer. Software has been changed to Notepad++. Thanks for such a great debugger!
UPDATE: Check out version 2.0.2
OLD INFORMATION:
Check out our Google Custom Search Engine! For right now, you can search the existing webpage. These will later be stored under
a section of the website called "Archives". You will still be able to search and view this content, although some may be selected to be
removed. There is no new content to add. Thanks for your cooperation.


Jeremiah 9:6
Thine habitation is in the midst of deceit; through deceit they refuse to know me, saith the LORD.


datacompy.core module¶
Compare two Pandas DataFrames
Originally this package was meant to provide similar functionality to PROC COMPARE in SAS - i.e. human-readable reporting on the difference between two dataframes.
-
class
datacompy.core.
Compare
(df1, df2, join_columns=None, on_index=False, abs_tol=0, rel_tol=0, df1_name='df1', df2_name='df2', ignore_spaces=False)¶ Bases:
object
Comparison class to be used to compare whether two dataframes as equal.
Both df1 and df2 should be dataframes containing all of the join_columns, with unique column names. Differences between values are compared to abs_tol + rel_tol * abs(df2[‘value’]).
Parameters: - df1 : pandas
DataFrame
First dataframe to check
- df2 : pandas
DataFrame
Second dataframe to check
- join_columns : list or str, optional
Column(s) to join dataframes on. If a string is passed in, that one column will be used.
- on_index : bool, optional
If True, the index will be used to join the two dataframes. If both
join_columns
andon_index
are provided, an exception will be raised.- abs_tol : float, optional
Absolute tolerance between two values.
- rel_tol : float, optional
Relative tolerance between two values.
- df1_name : str, optional
A string name for the first dataframe. This allows the reporting to print out an actual name instead of “df1”, and allows human users to more easily track the dataframes.
- df2_name : str, optional
A string name for the second dataframe
- ignore_spaces : bool, optional
Flag to strip whitespace (including newlines) from string columns
Attributes: - df1_unq_rows : pandas
DataFrame
All records that are only in df1 (based on a join on join_columns)
- df2_unq_rows : pandas
DataFrame
All records that are only in df2 (based on a join on join_columns)
-
all_columns_match
()¶ Whether the columns all match in the dataframes
-
all_rows_overlap
()¶ Whether the rows are all present in both dataframes
Returns: - bool
True if all rows in df1 are in df2 and vice versa (based on existence for join option)
-
count_matching_rows
()¶ Count the number of rows match (on overlapping fields)
Returns: - int
Number of matching rows
-
df1
¶
-
df1_unq_columns
()¶ Get columns that are unique to df1
-
df2
¶
-
df2_unq_columns
()¶ Get columns that are unique to df2
-
intersect_columns
()¶ Get columns that are shared between the two dataframes
-
intersect_rows_match
()¶ Check whether the intersect rows all match
-
matches
(ignore_extra_columns=False)¶ Return True or False if the dataframes match.
Parameters: - ignore_extra_columns : bool
Ignores any columns in one dataframe and not in the other.
-
report
(sample_count=10)¶ Returns a string representation of a report. The representation can then be printed or saved to a file.
Parameters: - sample_count : int, optional
The number of sample records to return. Defaults to 10.
Returns: - str
The report, formatted kinda nicely.
-
sample_mismatch
(column, sample_count=10, for_display=False)¶ Returns a sample sub-dataframe which contains the identifying columns, and df1 and df2 versions of the column.
Parameters: - column : str
The raw column name (i.e. without
_df1
appended)- sample_count : int, optional
The number of sample records to return. Defaults to 10.
- for_display : bool, optional
Whether this is just going to be used for display (overwrite the column names)
Returns: - Pandas.DataFrame
A sample of the intersection dataframe, containing only the “pertinent” columns, for rows that don’t match on the provided column.
-
subset
()¶ Return True if dataframe 2 is a subset of dataframe 1.
Dataframe 2 is considered a subset if all of its columns are in dataframe 1, and all of its rows match rows in dataframe 1 for the shared columns.
- df1 : pandas
-
datacompy.core.
calculate_max_diff
(col_1, col_2)¶ Get a maximum difference between two columns
Parameters: - col_1 : Pandas.Series
The first column
- col_2 : Pandas.Series
The second column
Returns: - Numeric
Numeric field, or zero.
-
datacompy.core.
columns_equal
(col_1, col_2, rel_tol=0, abs_tol=0, ignore_spaces=False)¶ Compares two columns from a dataframe, returning a True/False series, with the same index as column 1.
- Two nulls (np.nan) will evaluate to True.
- A null and a non-null value will evaluate to False.
- Numeric values will use the relative and absolute tolerances.
- Decimal values (decimal.Decimal) will attempt to be converted to floats before comparing
- Non-numeric values (i.e. where np.isclose can’t be used) will just trigger True on two nulls or exact matches.
Parameters: - col_1 : Pandas.Series
The first column to look at
- col_2 : Pandas.Series
The second column
- rel_tol : float, optional
Relative tolerance
- abs_tol : float, optional
Absolute tolerance
- ignore_spaces : bool, optional
Flag to strip whitespace (including newlines) from string columns
Returns: - pandas.Series
A series of Boolean values. True == the values match, False == the values don’t match.
-
datacompy.core.
compare_string_and_date_columns
(col_1, col_2)¶ Compare a string column and date column, value-wise. This tries to convert a string column to a date column and compare that way.
Parameters: - col_1 : Pandas.Series
The first column to look at
- col_2 : Pandas.Series
The second column
Returns: - pandas.Series
A series of Boolean values. True == the values match, False == the values don’t match.
-
datacompy.core.
get_merged_columns
(original_df, merged_df, suffix)¶ Gets the columns from an original dataframe, in the new merged dataframe
Parameters: - original_df : Pandas.DataFrame
The original, pre-merge dataframe
- merged_df : Pandas.DataFrame
Post-merge with another dataframe, with suffixes added in.
- suffix : str
What suffix was used to distinguish when the original dataframe was overlapping with the other merged dataframe.
-
datacompy.core.
render
(filename, *fields)¶ Renders out an individual template. This basically just reads in a template file, and applies
.format()
on the fields.Parameters: - filename : str
The file that contains the template. Will automagically prepend the templates directory before opening
- fields : list
Fields to be rendered out in the template
Returns: - str
The fully rendered out file.
-
datacompy.core.
temp_column_name
(*dataframes)¶ Gets a temp column name that isn’t included in columns of any dataframes
Parameters: - dataframes : list of Pandas.DataFrame
The DataFrames to create a temporary column name for
Returns: - str
String column name that looks like ‘_temp_x’ for some integer x


{% extends 'main.html' %} {% load static %} {% load i18n %} {% block inner_content %}
Your government email address has been confirmed.
Continue


You can download the complete ipython notebook (3 classes) and ipython notebook (7 classes) for the this session.
More details can be found on the offical website for pyspark.ml package
Wikipedia: A decision tree is a decision support tool that uses a tree-like graph or model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm.
Decision trees are commonly used in operations research, specifically in decision analysis, to help identify a strategy most likely to reach a goal, but are also a popular tool in machine learning.
Decision tree learning is a method commonly used in data mining.[1] The goal is to create a model that predicts the value of a target variable based on several input variables.It can be used to do the regression and classfication.
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName("Python Spark Decision tree Classification") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()
df = spark.read.format('com.databricks.spark.csv').\
options(header='true', \
inferschema='true').\
load("./data/WineData.csv",header=True);
# Convert to float format
def string_to_float(x):
return float(x)
#
def condition(r):
if (0<= r <= 4):
label = "low"
elif(4< r <= 6):
label = "medium"
else:
label = "high"
return label
from pyspark.sql.functions import udf
from pyspark.sql.types import StringType, DoubleType
string_to_float_udf = udf(string_to_float, DoubleType())
quality_udf = udf(lambda x: condition(x), StringType())
df = df.withColumn("quality", quality_udf("quality"))
df.printSchema()
# output
root
|-- fixed acidity: double (nullable = true)
|-- volatile acidity: double (nullable = true)
|-- citric acid: double (nullable = true)
|-- residual sugar: double (nullable = true)
|-- chlorides: double (nullable = true)
|-- free sulfur dioxide: double (nullable = true)
|-- total sulfur dioxide: double (nullable = true)
|-- density: double (nullable = true)
|-- pH: double (nullable = true)
|-- sulphates: double (nullable = true)
|-- alcohol: double (nullable = true)
|-- quality: string (nullable = true)
df.show(4)
#output
+-------------+----------------+-----------+--------------+---------+-------------------+--------------------+-------+----+---------+-------+-------+
|fixed acidity|volatile acidity|citric acid|residual sugar|chlorides|free sulfur dioxide|total sulfur dioxide|density| pH|sulphates|alcohol|quality|
+-------------+----------------+-----------+--------------+---------+-------------------+--------------------+-------+----+---------+-------+-------+
| 7.4| 0.7| 0.0| 1.9| 0.076| 11.0| 34.0| 0.9978|3.51| 0.56| 9.4| high|
| 7.8| 0.88| 0.0| 2.6| 0.098| 25.0| 67.0| 0.9968| 3.2| 0.68| 9.8| high|
| 7.8| 0.76| 0.04| 2.3| 0.092| 15.0| 54.0| 0.997|3.26| 0.65| 9.8| high|
| 11.2| 0.28| 0.56| 1.9| 0.075| 17.0| 60.0| 0.998|3.16| 0.58| 9.8| high|
+-------------+----------------+-----------+--------------+---------+-------------------+--------------------+-------+----+---------+-------+-------+
only showing top 4 rows
from pyspark.ml.linalg import Vectors # !!!!caution: not from pyspark.mllib.linalg import Vectors
from pyspark.ml import Pipeline
from pyspark.ml.feature import IndexToString,StringIndexer, VectorIndexer
from pyspark.ml.classification import DecisionTreeClassifier
from pyspark.ml.tuning import CrossValidator, ParamGridBuilder
from pyspark.ml.evaluation import MulticlassClassificationEvaluator
def transData(data):
return data.rdd.map(lambda r: [Vectors.dense(r[:-1]),r[-1]]).toDF(['features','label'])
data = transData(df)
data.show(3)
# output
+--------------------+-----+
| features|label|
+--------------------+-----+
|[7.4,0.7,0.0,1.9,...| high|
|[7.8,0.88,0.0,2.6...| high|
|[7.8,0.76,0.04,2....| high|
+--------------------+-----+
only showing top 3 rows
# Index labels, adding metadata to the label column
labelIndexer = StringIndexer(inputCol='label',
outputCol='indexedLabel').fit(data)
labelIndexer.transform(data).show(6)
# output
+--------------------+-----+------------+
| features|label|indexedLabel|
+--------------------+-----+------------+
|[7.4,0.7,0.0,1.9,...| high| 0.0|
|[7.8,0.88,0.0,2.6...| high| 0.0|
|[7.8,0.76,0.04,2....| high| 0.0|
|[11.2,0.28,0.56,1...| high| 0.0|
|[7.4,0.7,0.0,1.9,...| high| 0.0|
|[7.4,0.66,0.0,1.8...| high| 0.0|
+--------------------+-----+------------+
only showing top 6 rows
# Automatically identify categorical features, and index them.
# Set maxCategories so features with > 4 distinct values are treated as continuous.
featureIndexer =VectorIndexer(inputCol="features", \
outputCol="indexedFeatures", \
maxCategories=4).fit(data)
featureIndexer.transform(data).show(6)
+--------------------+-----+--------------------+
| features|label| indexedFeatures|
+--------------------+-----+--------------------+
|[7.4,0.7,0.0,1.9,...| high|[7.4,0.7,0.0,1.9,...|
|[7.8,0.88,0.0,2.6...| high|[7.8,0.88,0.0,2.6...|
|[7.8,0.76,0.04,2....| high|[7.8,0.76,0.04,2....|
|[11.2,0.28,0.56,1...| high|[11.2,0.28,0.56,1...|
|[7.4,0.7,0.0,1.9,...| high|[7.4,0.7,0.0,1.9,...|
|[7.4,0.66,0.0,1.8...| high|[7.4,0.66,0.0,1.8...|
+--------------------+-----+--------------------+
only showing top 6 rows
# Train a DecisionTree model
dTree = DecisionTreeClassifier(labelCol='indexedLabel', featuresCol='indexedFeatures')
# Convert indexed labels back to original labels.
labelConverter = IndexToString(inputCol="prediction", outputCol="predictedLabel",
labels=labelIndexer.labels)
# Chain indexers and tree in a Pipeline
pipeline = Pipeline(stages=[labelIndexer, featureIndexer, dTree,labelConverter])
# Split the data into training and test sets (30% held out for testing)
(trainingData, testData) = data.randomSplit([0.6, 0.4])
# Train model. This also runs the indexers.
model = pipeline.fit(trainingData)
# Make predictions.
predictions = model.transform(testData)
# Select example rows to display.
predictions.select("features","label","predictedLabel").show(5)
#output
+--------------------+-----+--------------+
| features|label|predictedLabel|
+--------------------+-----+--------------+
|[4.6,0.52,0.15,2....| high| high|
|[4.9,0.42,0.0,2.1...| high| high|
|[5.0,0.4,0.5,4.3,...| high| high|
|[5.0,0.42,0.24,2....| high| high|
|[5.0,1.02,0.04,1....| high| high|
+--------------------+-----+--------------+
only showing top 5 rows
# Select (prediction, true label) and compute test error
evaluator = MulticlassClassificationEvaluator(
labelCol="indexedLabel", predictionCol="prediction", metricName="accuracy")
accuracy = evaluator.evaluate(predictions)
print("Predictions accuracy = %g, Test Error = %g" % (accuracy,(1.0 - accuracy)))


{{ key }}
×
Create new app
Name:
Open after create?
{{ doc.qTitle }}
< v-if="listOrGrid.list" br>
{{ doc.CustomHub.stream }}
×
Delete app
Are you shure you want to delete
"
{{ delapp.name }}
"?
×
About
Custom HUB
Qlik Sense Version:
{{ qsVersion }}
Mashup Version: 0.12.3
Repository:
https://github.com/countnazgul/sense-custom-hub
Author: Stefan Stoichev (
<EMAIL_ADDRESS>@countnazgul
)
License: MIT


Location: Western Branch Community Center, 4437 Portsmouth Blvd, Chesapeake, VA 23321
TWSL offers two divisions for the Winter 2018 indoor season:
Open Division (18 and up): Open Division games will be played on Sunday afternoons at 2:00 and 3:15, beginning January 14th. You may register as an individual and get assigned to a team OR players may form their own teams. Team Representatives (TRs) will need to submit team rosters (partial rosters are OK) and team names to<EMAIL_ADDRESS>by December 20th. Our team formation meeting is scheduled for January 3rd. Any player who registers after team formation will not be guaranteed placement on their requested team.
Over 30 Division (30 and up): Over 30 Division games will be played on Friday nights at 7:00 and 8:15, beginning January 12th. You may register as an individual or you may have two reciprocal requests, for a total group of three players requesting to play together on the same team. Our team formation meeting is scheduled for January 3rd. Any player who registers after team formation will not be guaranteed placement with their reciprocal request.
The cost for playing in one division is $57. If you are eligible to play in both Open and Over30, the cost is $99 for both divisions.
For players that can't commit to a whole season of games, we also offer the option to join our guest player lists. These lists are used to provide additional players for teams that are short players. Guest players are NOT guaranteed to play during the season--it depends on the need of the teams. PLEASE NOTE: The new Guest Player fee is $8 per game. Guest players will be charged $40 at the time of registration, giving each guest list player a bank of credits to be used throughout the season. Please refer to the revised guest list policy for complete details.
Please also consider signing up as a Team Representative (TR) this season!! Responsibilities include: coordinating your team each week, sending reminder emails and obtaining head counts for each game, requesting guest players as needed, relaying league information as needed, acting as team captain on game days. Attendance at the team formation meeting is not required. If you serve as a TR, you will receive a $10 discount on your next registration.


|
jubilant-funicular
|
Class for generating unique (integral) IDs. More...
#include <IDFactory.h>
Public Member Functions | |
| void | clear () |
| Resets this to a new IDFactory. | |
| void | reset () |
| Resets this to a new IDFactory. | |
| T | gen_id () |
| Generates a new, unused ID. | |
| void | free_id (T id) |
| void | free (T id) |
| calls free_id | |
| bool | is_free (T id) const |
| Returns whether or not an id is free. | |
| bool | is_in_use (T id) const |
| Returns whether or not the id is in use. | |
| std::size_t | get_count () const |
| Returns the number of active ids. | |
| T | get_last_id () const |
| Returns m_last_id. | |
| T | operator() () |
| Calls (and returns) gen_id. | |
Private Attributes | |
| std::vector< T > | m_free |
| IDs that were previously active but have since been freed. | |
| T | m_last_id |
| The smallest id that has never been assigned. | |
Class for generating unique (integral) IDs.
Definition at line 14 of file IDFactory.h.
| void nta::utils::IDFactory< T >::free_id | ( | T | id | ) |
Marks an id as free so that it can be reused
id must not already be free
Definition at line 59 of file IDFactory.h.
Referenced by nta::utils::IDFactory< SlotMapKey<> >::free(), and nta::utils::IDFactory< GenIndex< IndexType, GenType > >::free().


Website designed and built at RIKEN, Japan.
Code licensed under MIT
DEIVA v<%= template.version %>
Source // About // Issues


File: MusThGUI.js
/* Copyright (c) 2013 Eric Brisson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /** The Music Theory GUI module allows for display and entry of notes in various contexts that are suitable for music theory exercises. The user interface is created by instantiating a {{#crossLink "MusThGUI"}} {{/crossLink}} object. Here is an example describing how to use this module: 1) Add an HTMLtag for a small canvas in the web page source, with a unique 'id' attribute. <canvas id="myUniqueID" width="1" height="1"/> 2) Define an XML string that will describe the interface's initial state. Here is an example that would be well-suited for a scale question: var initXML = '<MusThGUI canvasEditable="true" accidentalCarryOver="true">' + '<StaffSystem maxLedgerLines="3">' + '<Staff clef="treble">' + '<KeySign totalAccColumns="7" >' + '<Accidental type="#" letter="F" register="5" editable="false" />' + '<Accidental type="#" letter="C" register="5" editable="false" />' + '<Accidental type="#" letter="G" register="5" editable="false" />' + '</KeySign>' + '<NoteColumns>' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '<NoteColumn maxNotes="1" />' + '</NoteColumns>' + '</Staff>' + '</StaffSystem>' + '<Toolbars>' + '<AccidentalToolbar>' + '<Button symbol="n" />' + '<Button symbol="#" />' + '<Button symbol="b" />' + '<Button symbol="##" />' + '<Button symbol="bb" />' + '</AccidentalToolbar>' + '</Toolbars>' + '</MusThGUI>'; For more details on the XML schema that the interface will accept and return, see the 'valid_input_xml.xsd' file in the module's XML directory. 3) Define a callback function that the interface will use to message back its current state. This function will be called whenever the user changes the interface's state (i.e. by adding or deleting notes on the staff). var callBack = function(stateXML) { //stateXML will contain the most up-to-date canvas state. }; 4) Create a {{#crossLink "MusThGUI"}}{{/crossLink}} object using the canvas id from step 1, the XML string from step 2 and the callback function from step 3: var musicCanvas = new MusThGUI('myUniqueID', initXML, callBack, true); Argument 4 specifies whether the interface should be editable after initialization. Use a false value to display a static interface. Once instantiated, the MusThGUI object will display an interactive music canvas on the web page. Whenever the user makes any changes, the callback function will be called and the most up-to-date canvas state will be returned, as an XML string. @module MusThGUI **/ /** The MusThGUI object is used to interact with outside components. @class MusThGUI @constructor @param {String} canID The id of the HTMl 5 canvas to which this application will be bound. @param {String} stateXML The canvas state as xml. @param {Function} respCallBack A function that the controller will use to send the current canvas answer back the caller, whenever the state changes. This function should accept one argument which provides the current XML output. @param {Boolean} editable Specifies whether the user can change the UI after initialization. @return {undefined} **/ MusThGUI = function(canID, stateXML, respCallBack) { this.callBack = function(cBack) { return function(stateXML) { cBack(stateXML); }; }; this.UI = new MusThGUI.Control.Controller(canID, stateXML, this.callBack(respCallBack)); };


| Donation price options | $20.00 | $40.00 | $60.00 | $80.00 | $100.00 |
|---|---|---|---|---|---|
| rowspan="8">Sending a donation | Step 1: Select the donation amount. | Step 2: Send the donation. | |||
|
Select price here.
$20.00$40.00$60.00$80.00$100.00 |
Click here to send the donation. |
If you like our website, feel free to make a donation if you wish to do so.


---
title: "Fall Foliage"
date: "2019-10-24 00:00:00 -06:00"
categories:
- whats-blooming
layout: "post"
blog-banner: "whats-blooming-now-fall.jpg"
post-date: "October 24, 2019"
post-time: "12:00 PM"
blog-image: "2019-10-24-wbn.jpg"
published: true
---
Fall is in full swing and there's no better place to experience the season of change than at Red Butte Garden.
As temperatures cool, and daylight hours decrease, deciduous trees stop producing chlorophyll, revealing the anthocyanin and carotenoid pigments in the leaves and causes the beautiful show of colors we see each autumn.
This Utah native isn't difficult to spot in the mountains during this time of year.
This brilliant red shrub can be seen on the Floral Walk.
The bright yellow leaves stand out against the white bark of this tree.
Before they fall, the leaves of this Utah native change to match its branches.
While you're visiting the moose sculpture take a minute to appreciate these nearby shrubs.
This dainty grass can be admired along the boardwalk to the Visitor Center.
Before you know it winter will be here, so while the weather is nice, take some time to come up and visit the Garden.
It is the final week of Garden After Dark!
Skip the line and click HERE to purchase tickets.


I realize that the more things I do, the better I feel— yet, I still struggle with not “feeling” like doing anything.


This table contains entries for a variety of cholera toxins in the UniProt database. Links are provided to view the original UniProt protein entries, and their display in InterPro.
|
|
|
SPTR
|
Protein name |
Organism |
InterPro Domain Architecture |
InterPro Graphical Match |
Function |
|
Cholera toxins |
CT-A |
Cholera
enterotoxin, A chain precursor (NAD(+)‑diphthamide ADP‑ribosyltransferase) |
Vibrio cholerae
|
|
Catalyses ADP-ribosylation of Gsa to activate the adenylate cyclase |
||
|
|
CT-B |
Cholera
enterotoxin subunit B precursor |
Vibrio cholerae
|
|
Directs A subunit to its target by binding GM1
gangliosides on surface of intestinal epithelial cells |
||
|
|
ZOT |
Zona occludens toxin |
Vibrio cholerae
|
|
Increases permeability of small intestine mucosa by
affecting structure of intercellular tight junctions (zonula occludens) |
||
|
|
ACE |
Accessory
cholera enterotoxin |
Vibrio cholerae
|
Not represented
|
Not represented |
Increase
fluid secretion |
|
|
|
|
Aldehyde dehydrogenase |
Vibrio cholerae
|
|
May be involved in V. cholerae virulence, as its
expression is under the control of toxR |
||
|
|
epsD |
Cholera toxin secretion protein epsD |
Vibrio cholerae
|
|
Required for secretion of cholera toxin through outer
membrane |
||
|
|
ST |
NAG-specific heat-labile toxin ST precursor |
Vibrio cholerae
|
|
Toxin |
||
|
|
STO |
Heat-stable enterotoxin STO precursor |
Vibrio cholerae
|
|
Toxin |
||
|
|
Haemolysin |
Haemolysin precursor |
Vibrio cholerae
|
|
Exotoxins that attack blood cell membranes and cause cell rupture |
||
|
|
Pilus |
Toxin coregulated pilin precursor |
Vibrio cholerae
|
Constituent of pili; may be involved in adhesion of V. cholerae to host intestinal epithelium |
|||
|
|
Pilus |
Toxin coregulated pilin precursor |
Vibrio cholerae
|
|
Constituent of pili; may be involved in adhesion of V. cholerae to host intestinal epithelium |
||
|
|
Membrane protein |
Outer membrane porin
protein U precursor |
Vibrio cholerae
|
|
Integral
membrane protein |
||
|
|
Memebrane protein |
Outer membrane
protein T precursor |
Vibrio cholerae
|
Not represented |
Integral
membrane protein |
||
|
|
ToxR |
Cholera toxin transcriptional activator |
Vibrio cholerae
|
|
Transcription activator controling cholera toxin, pilus colonization factor and outer membrane protein expression in V. cholerae |
||
|
|
ToxT |
Toxin co-regulated pilus virulence regulatory protein ToxT |
Vibrio cholerae |
Transcription factor |
|||
|
|
TcpP |
Toxin coregulated pilus biosynthesis protein P |
Vibrio cholerae |
Involved in TCP pilus biogenesis |


This is Words and Buttons Online — a collection of interactive #tutorials, #demos, and #quizzes about #mathematics, #algorithms and #programming.
Anode and cathode, procaryote and eucaryote, epimorphism and monomorphism. For every pair, I think I know what the words mean from school but I can't always tell one from another. I can always tell sine from cosine but I didn't learn them at school. My father taught me.
He was not an educator but an engineer. He didn't tell me where these words come from, he didn't tell me about Greeks or Sumerians. He didn't even tell me about that circle thingy with a triangle. Nothing that math teachers somehow deem important. He only told me what do these functions look like and how to make them into other functions. I played with them on a computer for a while and that was it. Every piece of trigonometry I learned from then started to make sense.
This is sine.
It's a continuous function that runs through all the x-axis. On the y-axis, it is constrained between -1 and 1.
Its most interesting values are:
| α in degrees | 0° | 30° | 45° | 60° | 90° |
| α in radians | 0 | Π / 6 | Π / 4 | Π / 3 | Π / 2 | sin(α) | √0 / 2 | √1 / 2 | √2 / 2 | √3 / 2 | √4 / 2 |
It is smooth. It grows and declines but the magnitude of these changes is continuos.
It is periodic meaning that it consists of an infinite number of equal pieces 2Π-long.
It is antisymmetric meaning that it's x-negative half is exactly the opposite of the x-positive one: f(-x) = -f(x).
In 0 it grows exactly like y = x. For small x, we can even use f(x) = x as an approximation of sin(x).
It's all pretty easy to remember since it also looks like S.
This is cosine.
It is the sine's older cousin. It looks exactly like the sine but it runs Π/2 ahead of it.
It has the same interesting values but in reverse order:
| α in degrees | 0° | 30° | 45° | 60° | 90° |
| α in radians | 0 | Π / 6 | Π / 4 | Π / 3 | Π / 2 | cos(α) | √4 / 2 | √3 / 2 | √2 / 2 | √1 / 2 | √0 / 2 |
Unlike the sine, it's symmetric. Its x-negative half is the mirrored copy of x-positive half: f(-x) = +f(x).
Around 0, it behaves like y = 1.
It's also easy to remember since it looks like C.
The moving illustrations you see are all made with sines and cosines. And now I'll show you how.
Rotation is a spatial transformation. On a plane, this is a function that turns a pair of coordinates into another pair of coordinates. (x, y) → (xr, yr). Of course, it can be written down as a pair of functions used simultaneously.
The formula for rotation on a in radians is this:
xr = -x cos(a) + y sin(a)
yr = x sin(a) + y cos(a)
On this plot, I wanted the arrow to run clockwise so I negated the a. But you can do the same by altering your formula. And yes, it's your formula now, the code below is changeable, you can change things there and the plot will react.
If something starts moving gradually growing speed from the full stop and then stops completely by gradually losing speed, we consider its movement natural.
On the plot, the vertical line speeds up from 0 and stops smoothly at the end. That's because its movement is dictated by f(x) — the function that starts flat and ends flat, and we use the sine for that, and the sine itself is smooth.
A parametric curve is a function of a parameter resulting in a pair of coordinates: a → (x, y).
Of course, it's the same as a pair of separate functions for each coordinate.
Sine is like S and cosine is like C.
You can make things like O or 8 by using them both.
| Index #mathematics #tutorials | ← there's more. |
+
So You Think You Know C (free book) + Geometry for Programmers (paid book) + Github & RSS |


{{if and .username .isOwner}}{{end}}
This file will destroy itself after the first access to it, though you as the author may access this file as often as you like until it has been destroyed.
This file has been setup so that it can only be downloaded once.
Please make sure to not accidentally abort or discard the file once you've clicked
Download, because you will not be able to restart a failed download.
SHA-1: {{.filehash}}


compute homology basis
Compute a basis for the homology group H_1(M,Z), based on the algorithm 6 in book [1].
- Gu, Xianfeng David, and Shing-Tung Yau, eds. Computational conformal geometry. Vol. 3. Somerville: International Press, 2008.
Contents
Syntax
hb = compute_homology_basis(face,vertex)
Description
face : double array, nf x 3, connectivity of mesh vertex: double array, nv x 3, vertex of mesh
hb: cell array, n x 1, a basis of homology group, each cell is a closed loop based. Return empty for genus zero surface. Two loops on each handle. If there is boundary on surface, each boundary will be an element of hb
Contribution
Author : Wen Cheng Feng Created: 2014/03/13 Revised: 2014/03/24 by Wen, add doc
Copyright 2014 Computational Geometry Group Department of Mathematics, CUHK http://www.math.cuhk.edu.hk/~lmlui
function hb = compute_homology_basis(face,vertex) ee = cut_graph(face,vertex); nv = size(vertex,1); G = sparse(ee(:,1),ee(:,2),ones(size(ee,1),1),nv,nv); G = G+G'; if exist('graphminspantree') [tree,pred] = graphminspantree(G,'METHOD','Kruskal'); else [tree,pred] = minimum_spanning_tree(G); end v = find(pred==0); [I,J,~] = find(tree+tree'); eh = setdiff(ee,[I,J],'rows'); hb = cell(size(eh,1),1); for i = 1:size(eh,1) p1 = trace_path(pred,eh(i,1),v); p2 = trace_path(pred,eh(i,2),v); loop = [flipud(p1);eh(i,1);eh(i,2);p2]; hb{i} = prune_path(loop); end if isempty(eh) hb = []; end function path = trace_path(pred,v,root) path = []; while true path = [path;pred(v)]; v = pred(v); if v == root break; end end function path_new = prune_path(path) ind = path ~= flipud(path); i = find(ind,1)-1; path_new = path(i:end-i+1);


PHYSICS VIVA QUESTION
HELMHOLTZ GALVANOMETER
It is named after the German scientist Hermann Ludwig Ferdinand von Helmholtz.
Q.What is Helmholtz Galvanometer?
A. A Helmholtz galvanometer , like other galvanometers , is an instrument which can be use to measure dc current in the circuit.It is an improved form of the tangent
galvanometer.
Q. On what principle is Helmholtz Galvanometer based?
A. It is based on Tangent Law,which states that when two magnetic fields are acting perpendicular to each other, then for a given restoring field deflecting field is directly
proportional to tangent of the angle made by resultant with restoring field.
Q.How does the field along the axis of coil vary?
A.The field F at distance x from the center of the coil of radius r is defines as:
F=(2*3.14*n*i*r)/10(r*r+x*x)^3/2
where n is the number of turns and i is the current flowing through the coil.
Q.What is the magnitude of of field at the center?
A. For F at center,x=0,
F=(2*3.14*n*i)/10*r
Q.How can we increase the region of uniform field?
A.By using two identical coils placed co-axially at a distance equal to their radius.
Q.Define Tangent Law.
A. F=H tan θ,where H & F are mutually perpendicular magnetic fields.
Q.Why is it necessary to set the plane of coil in the magnetic meridian?
A.To make the magnetic field produced by the coils at ninety degrees to the horizontal component of Earth’s magnetic field.
Q.What is magnetic meridian?
A. A plane passing through the axis of magnetic needle freely suspended through it’s center of gravity & is at rest under Earth’s magnetic field.
Q.How is the error in measurement of deflection eliminated if the coil is not exactly placed in the magnetic meridian?
A.By passing current in one direction and then in reverse direction and then taking the mean of the four readings.we get deflection free from error.
Advantages of Helmholtz Galvanometer over Tangent Galvanometer.
Tangent galvanometer has uniform magnetic field only at the center while Helmholtz has it between the two coils.Helmholtz galvanometer is more sensitive.At the same current Helmholtz
produces more deflection and field.


A set of two Jenkins parameter plugins which have their value restricted to a set of allowed values to be picked from a list provided by an external program. The restricted string parameter allows for setting a single parameter value. The restricted string dynamic parameter allows for setting two build parameters. For both, the external program will have access to information about the current logged in user. For the dynamic parameter, the command will also have access to the current value selected for the first parameter.
After installation two new parameter options will be available when configuring a job in Jenkins.
Configure the restricted string parameter specifying the name of the environmental variable to set with the value of each selected item, the command to execute to get the list of allowed values and a description of how the parameters relate to the build.
The environmental variable JENKINS_RSP_USER will be set to the username of the user currently logged into Jenkins.
Configure the restricted string dynamic parameter specifying the name of the environmental variables to set for each selected item, the commands to execute to get the list of allowed values and a description of how the parameters relate to the build.
The environmental variable JENKINS_RSP_USER will be set to the username of the user currently logged into Jenkins. The environmental variable JENKINS_RSP_VALUE will be set to the value selected for the first parameter.
The values selected during a build will be available in the parameter names specified in the configuration.
The following screenshots show the parameter plugin in action using the configuration from the screen shots in the configuration section.
Initial parameter state.
Showing options provided by command.
Initial parameter state.
Showing options for second paramater provided by command.
Showing options for first paramater provided by command.
Showing options for second paramater changing based on selection of first parameter.


1 write to _createLocalScope
System.Management.Automation (1)
engine\runtime\ScriptBlockToPowerShell.cs (1)
271
var converter = new ScriptBlockToPowerShellConverter { _context = context,
_createLocalScope
= createLocalScope };
1 reference to _createLocalScope
System.Management.Automation (1)
engine\runtime\ScriptBlockToPowerShell.cs (1)
689
var command = new Command(commandName, isScript: false, useLocalScope:
_createLocalScope
);


Come visit your Local Zoo today. We've got plenty of fun and exciting things for you and the family to enjoy every visit, every day, of every year! Choose the Map to see the park map or to find us on Google Maps. Choose Tickets to purchase tickets for you and the entire family. Or head over to Attractions and see all the fun we have to offer.
Click Here for a fun Children's Video you can all enjoy on the way to your unforgettable trip to the Zoo!


'Animal Pack' Gang Rapists Imprisoned For Filming Attack on Phones
MADRID (AP) – Two Spaniards who were among a group of five convicted earlier this year of raping a woman each have been sentenced to three years and three months more in prison for having made videos of the rape with their phones.
by Breitbart LondonA regional court in Pamplona also fined them 5,670 euros ($6,280) on Wednesday for the seven videos and two photographs they made of the rape.
The five, who had a WhatsApp group named “La Manada,” or “The Animal Pack,” were imprisoned for 15 years by the Supreme Court in July for raping an 18-year-old woman during Pamplona’s San Fermin festival in 2016.
The case earned renown because lower courts convicted them of lesser crimes.
Four of the five are also on trial for allegedly sexually abusing another woman in 2016.