text:
County Line 5678
St Leonards and St Ives Village Hall, Braeside Road, St Leonards, Dorset, BH24 2PH
Meet the 'County Line' Team
Events Calendar 2019/20
2015-19 Events Reports
Contact Location and links…
I was unable to make this Social, but the reports I had from those who did were incredibly positive. Paul is obviously a natural with a crowd, and went amongst everyone during his breaks, to make sure he was doing what they wanted, and to collect requests. He did three encores, which is testament in itself.
It was great to see Paul again, with his finger intact, and see how well he can play the guitar this time. There was a really good atmosphere amongst the crowd, as is usual, though there was sadness at the loss of Barrie, who, with his wife Maureen have dance beautifully with us since the beginning. Paul did some old favourites, and some of his own original songs.
Richard Palmer informed Alan and Rita at 11pm on the Friday before our Social, that he would be unable to perform the next day, and once our Agents knew, they managed to get Peter Shaw, who had become unexpectedly free. This is ertainly the advantage of going through an Agent, and this time it really paid off. Peter and his son Sam were an excellent stand in, and really endeared themselves to the guests who came, expecting to see Richard.
Even if you are not a dancer, you cannot fail to be impressed with Tony's singing and guitar playing. As he has always been involved with line dancing, however, he was able to tell the dancers what they could do to each song. There were less than 80 people this month, due to a dance weekend in Bideford, and illness, which meant that there was more room for the partners to get round. I also had feedback from one couple who preferred the present table layout, as they said that the last time they came, they just couldn't get out to dance.
This was the final Social of 2018, and what a wonderful evening. It really did feel like a party. The team put a lot of effort in to making the night as Christmasy as possible, erecting Santa's grotto, wrapping presents for everyone and providing bucks fizz to help the evening go with a fizz. A big thanks to the Texas Tornados for adding to the spirit.
This was Billy's 3rd visit to us and he was as brilliant as usual. He brought a play list for Alan to look at, so he could avoid repeating Billy's songs. The floor etiquette was really good, but there were less dancers going round the outside, which might be due to the fact that the floor was more slippery than usual.
The first Social following the Summer break was again a sell-out and had a brilliant atmosphere, as people came back together after a two month break. Yet again we welcomed people who have never been to us before and in particular Pauline and Graham. Many of us know Pauline, not only through her teaching, but the wonderful Socials she used to run at Wallisdown. The new table lay-out is proving a success, as people can get onto that dance floor more easily, and it give a more inclusive feel.
Being the last Social before the Summer break, a cream tea was available for our guests. As on previous occasions, this was brilliantly organised by the team, and was enjoyed by all. Chris James gave us a fantastic evening of dancing and entertainment, and all the tickets for the Social in October were sold on the night.
The evening was summed up by a quote from Doreen: "What a brilliant night at County Line last night, Rancher were fantastic, they played to a full house, and kept the floor full all evening ! Hope everyone enjoyed them as much as I did".
Also a quote from Alan, who found them especially easy to work with: "Great night at county line last night with Rancher on stage, fantastic duo playing a great mix of music."
Conversely a quote from John Hallett, the lead singer of Rancher, following Alan's message to thank them: "Thanks for having us Alan, we thoroughly enjoyed it too, great crowd, great atmosphere." What more can we ask for our Club.
The evening began with lots of chat about the Royal Wedding, amongst the ladies anyway, and Rita and Heather decorated fairy cakes with union flags to add to the festivities. There were plenty of flags in evidence, and the lovely weather ensured that the atmosphere started on a high. This progressed as the lovely Kay D started her performance.
Martin and his wife remembered everyone who attended the last taster session, and were extremely friendly. Marie made a point of talking to people, and joining in with the dancing. The first set lasted for an hour and 20 minutes, and at the end Martin played for a further 20 minutes, responding to the many requests for more songs.
As the snow set in again, Kelly and Michael set the stage for another evening of top quality entertainment. They genuinely loved the atmosphere you all generate in the club and would love to be invited back. Les had his 75th birthday on the night, and Kelly sat on his knee to sing him happy birthday, which elicited a big grin from the birthday boy. John kindly made him a beautiful cake, which was the crowning glory to his night.
As has become the accepted "norm" now, this Social was also a sell-out, even though there was a line dancing event with Karl and Tina Argyle at Street over the weekend. We have not had to turn people away yet, but have already sold 50 tickets for March. Stonecold Country provided us with a good variety of music, and kept the floor full throughout.
Amy was booked after some of our team went to a "taster session", and proved a very chirpy amiable character. She was very concerned that she pleased her audience, and when people started arriving was interacting with them. She also forfeited her break at raffle time to talk to people. There were not many partner dancers this month, so the line dancers were able to take up the whole floor a lot of the time.
Daniel has sung for us before, so we knew we were in for a good evening. He knows a lot of our dancers, so feels very comfortable at our venue. He puts down a lot of his own backing tracks, as he plays a number of instruments. He can also tell our dancers which dances to do, which always goes down well with our crowd.
I spoke to a number of people who attended this Social, some for the very first time, and all the feedback I got was incredibly positive. They all said that it had been an amazing night, with an amazing singer. I only wish I had been able to hear him, but fortunately we have been able to book him again. Apparently he even did some line dancing whilst singing!!
We welcomed Trey Jackson for our return act after the Summer break. He gave us a brilliant evening of dancing, and his Rock 'n Roll background meant that he had a wide variety of music under his belt. He was able to adapt his act to suit our requirements, and kept the floor full.
A return visit by Chris Harris, plus a free cream tea provided by the team, left everyone in a very happy place on Saturday evening. All the people I spoke to said what a good evening it was. It's nice to know that we ended on a high before our 2 months off.
What a night – the hottest day of the year yet, so despite fans and open windows, the heat was a real problem. It was actually not too bad for those who were dancing, but Kickin' Country were all in black under strong halogen lights. They still managed 2 encores though. Chris then had the long drive back to Wales.
The Storms gave us a wonderful evening as a father and son pairing, but Rick is a full time performer and does a lot of solo work. About 80% of his gigs are for line dancers, and he knows exactly what dances can be done to each track, making life a lot easier for those of us who like to know in advance what we are supposed to be doing. It also emerged during conversation, that he also does Rock 'n Roll gigs, and he obligingly did an Elvis Medley, which went down really well, and we actually had Rock 'n Rollers on the floor, which was great!
Darren travelled all the way from Wrexham in Wales to be with us. We had a lot of good reports at the end of the evening, and many people enjoyed the different music he played, which gave the evening plenty of variety. He even played some Rock n' Roll at the end of the evening.
Despite Paul Taylor cutting his finger badly, he took it all in his stride and carried on, just using his backing tracks. Obviously the sound would have been much fuller with the guitar, but the audience were very happy with his performance, especially as he told the line dancers what dances to do, which is always appreciated. Those us us who do the more modern line dances were pleasantly surprised when he sang "Take me to the River", which we only learnt a couple of months ago.
Tony Crooks drove from High Wycombe, and went down a storm with the audience, being popular with partner dancers and also line dancers, as he was able to suggest what dances could be done to each song. He kept the floor full all night, which is what we aim to do. We welcomed quite a few new faces this month as well.
Paul took a long time setting up, to get the sound absolutely right, and checked with Alan to make sure that songs weren't duplicated, which is what we like. He not only did the old favourites, but was able to accommodate people who wanted more up to date dances. The feedback from this night was incredibly positive, which is thrilling for the organisers.
Cheyenne played a good mixture of songs, and tried not to do too much of the stuff which is always played. They get asked for certain songs all the time, but like to do something a bit different, that people won't have heard much, if at all. They were also able to tell the dancers what they could do to each number, which is an advantage in our Club. Our jovial Father Christmas expressed his enjoyment of their performance – praise indeed.
Martin Jaye was another replacement Act, and true to form, gave us one of our best nights. We are discovering people we may not have booked, but for the lucky chance that they have been available when required. We have not had many cancellations, and these are inevitable, but our Agents have been excellent in fulfilling our needs.
I didn't realise how much I'd missed seeing everyone until they all started rolling in, and I'm sure the rest of the "Gang" felt exactly the same, though I know a lot of you have been meeting up at other venues throughout the Summer.
We fairly consistently have maximum capacity at our socials these days, and are now used to what people want. We therefore try to ensure that the Acts we book reflect what we now know our regulars like. There will always be the slight conflict between those who like pure Country and those who prefer the more modern dances, so Alan ensures he accommodates the latter during his disco times. This happened perfectly on this occasion.
Dave Inglis treated us to another successful night of dancing, going round the room to make sure he was playing what people wanted. He liaised with Alan to check that their songs did not overlap, and he said he had really enjoyed his evening with us.
Well yet another sell-out and this time we were delighted to have Bob, Carol and friends from Broadmayne. It was great to see them, and we sincerely hope they manage to come and join us again before too long. We had 3 birthdays amongst our regulars and they each received a bouquet of flowers.
There were about 30 regulars missing due to other commitments and holidays, but the evening was still a sell-out. The Texas Tornados drew in the younger element as well as the County Line regulars. They certainly proved to be one of our most successful acts, and we were very lucky to have got them as a replacement for the original band.
Numbers are holding up very well with another full house. The system put in place by Rita for booking tables does work very well although this past month everyone got a bit blasé and didn't book until the last minute, causing a last minute panic. Please try and book early for the next event on May 21st, as we do have a number which we try to adhere to for everyone's comfort.
I usually arrive at the hall at 5.45pm to help with the preparation, but on this occasion I was unable to do so, and came through the back door just after 8pm. I was quite taken aback by the warmth of the atmosphere I encountered. Peter was playing, the floor was really busy, and there was a relaxed buzz coming from the area of the hall where people were sitting chatting. It was worth the late entry for this alone.
Our Social clashed with a Street weekend, so we lost a few regulars, but equally there were people we hadn't seen for a few months for various reasons, and people for whom it was their first visit. One couple attended for the first time last month, and couldn't wait to come back, so we must be doing something right. A big thanks to all the "main players" for all the work they put in to making the monthly Socials so successful.
Apparently we were a few people down this month due to illness, but it certainly wasn't noticeable, and the atmosphere was as cheerful and upbeat as ever. We had the added benefit of having Karl with us, so when it came to dances that he has taught, and/or choreographed, we had someone to follow. He is very good at pointing us in the right direction, and many of our regulars go to his classes anyway, so the rest of us were "carried along".
Steve Hanks is a very well known act on the Country circuit, and that may well be one of the reasons that our partner dancers were back in force. It was great to see them, and thank you to the line dancers for taking on board the hints about floor etiquette, and creating room for the partner dancers to go round the outside.
We had around 80 people at this Social, and a newcomer was heard to say that it was very well organised. With that number of people and the size of the hall, it needs to be. There were times when the couples struggled to get round the outside, such were the number of line dancers on the floor. Rob Childs kept the floor full with country tracks, and then our esteemed DJ, who sounded increasingly like a Dalek as the evening progressed (as he was losing his voice), played some of the more recent line dancing "favourites".
Some of the dances Rob did for us were: The Real Deal, Mexifest, Just for Grins, Rock and Roll King, Cheap Talk, Memphis Love, All Week Long, Walk With Me and Triple Mix.
Unfortunately I was unable to attend this Social, as I had booked a line dancing weekend in Street ages ago, not realising that our monthly Social actually fell on a different Saturday in December. I have been regretting it ever since, as people have been showering me with comments on how good the evening was.
The County Line Team obviously excelled themselves this Christmas, and made it a brilliant evening for everyone. Billy Curtis was a really good choice for our last session of the year, and we had the added bonus that Karl turned up, being a friend of Billy's. He must have been surprised to see so many of his class members there – a pleasant surprise for all.
November 17th 2015 Event Report
Centerfield played a really good Country set, and I think we'd all like to thank Viv and Maria for starting dances for us all to follow. During their travels, Centerfield have come to realise that there is a big market out there for line dancing, so have now compiled the backing tracks for a lot more line dances. They are nearly ready to go with a whole new play list, so they can cater for both Country purists and line dancers.
One of our Charity donations went to "New Forest Special Needs", and the Grandparents of a boy called Morgan LaGumina, who has autism, came along to thank the club for the donation. Carol Oade, runs a partner dancing venue in Netley Marsh, and took the opportunity during the raffle break, not only to thank us, but also to say how much they enjoy coming to St Leonards, and are hoping to continue doing so for a long time to come.
October 17th 2015 Event Report
We were very pleased that on only our second Social following the Summer break, we had 74 people through the door. Fools Gold played a very varied set, and helped by giving us an idea of what dances to do. Some clubs don't like this apparently, but I think we find it a great help. In response to feedback, Paul is getting through the raffle more rapidly, which saves our poor old bones from stiffening up.
September 19th 2015 Event Report
We really weren't expecting the crowd we had, as there were a number of people on holiday, and we wondered if we'd been forgotten after such a long break. We were thrilled to see many of the "old" faces back, and delighted to see some new ones, who appeared to have enjoyed it. Stubby went down really well, and let's hope the rest of the year continues in the same vein.
June 20th 2015 Event Report
Alan played tracks which had been requested, and Peter gave us 2 brilliant sets of Country music, most of which were known to us, which meant that both line and partner dancers were happy. Peter concluded the evening by singing You're My Best Friend, which was originally sung by Don Williams, and he invited us all to join in, though I don't think the contestants of the next Britain's Got Talent will have anything to worry about from us!!
May 16th 2015 Event Report
All our acts have to cater for people who either line dance, or partner dance, and also people who come to listen to good country music. This is not an easy task to fulfil, but Chris Harris was aware of this, and succeeded in his aim to keep everyone happy. We have a couple of clever people who can fit dances to most pieces of music, and the rest of us follow.
April 18th 2015 Event Report
Another extremely successful evening, with the band keeping the floor full all evening. Along with really top vocals, Souls 'n' Stone also entertained us with their wit and humour. This was their second visit to the club, and Jane thanked the County Line team for once more looking after them, and making them so welcome.
The duo did 2 encores, and only missed a third as they had a long drive ahead of them. Jane finished the evening by singing "Your Song" by Garth Brooks, and had the audience spellbound by her beautiful voice. They really enjoyed the atmosphere, and would love to come back again in the future. Jane's comment on our facebook page was: "Great club. We had a wonderful time. Thanks for having us. Loved every minute xx"
The raffle was a great success again, and the lady who won the basket of vegetables was absolutely thrilled, and used them for her Sunday lunch the next day.
March 20th 2015 Event Report
County Line pulls another successful evening out of the bag. Daniel Berry performed very lively upbeat sets, with the floor full throughout. Daniel himself really enjoyed the evening. He said it was a really good evening, and expressed his desire to be invited back.
February 21st 2015 Event Report
Our February dance had a Valentine theme, though apparently the love hearts don't taste the same as they did 50 years ago!! I don't know how politically correct the little messages were, as I didn't read them.
For reasons beyond his control, Billy Bubba King had to drive from Slough to Ringwood in record time, which he obviously did, as there was very little delay in the start time. A bottle of cough medicine was strategically placed behind him, and it seems he has really been suffering with his chest, though we would never have known. He was as professional as ever, and with his ability to accommodate both modern and old dances, went down really well with our crowd.
January 17th 2015 Event Report
Our first Social of 2015 was another success. Chris James played a good selection, and the floor was full from the beginning. We had the added bonus that Chris's wife is a beautiful line dancer, and helped us out when we needed it, despite being decidedly unwell.
We welcome any constructive feedback after a Social, so we can continue to build on the success of last year. Just use the email link at the top of every page.
Our Next Event: Darren Jones (Acts are subject to change)
The ever popular Paul Bailey makes a welcome return
April and May Reports
Archives Select Month July 2018 December 2016 August 2016


With vacation season rolling in like the tide, you may already be imagining poolside drinks and backstrokes in your near future. But before you slip on your swimwear and grab your tanning lotion, take note of a new report by the Centers for Disease Control & Prevention, which reveals that parasites and bacteria in hotel pools and hot tubs could be causing multiple illnesses.
The CDC released the report Thursday. It outlines the ways recreational venues like pools, hot tubs and water playgrounds can be harmful to your health.
The CDC looked at cases of water-related illness in 46 states and Puerto Rico from 2000 to 2014. They found at least 27,219 cases and eight deaths. Among the confirmed 363 outbreaks of infectious illnesses they identified were 212 cases of Cryptosporidium (a gastrointestinal illness), also known as Crypto; 57 instances of Legionella (which causes Legionnaires' disease, a severe pneumonia); and Pontiac fever, an illness with flu-like symptoms), among others.
Before you cancel your upcoming vacation at the resort, please know that vacation destinations go to great lengths to treat their pools and hot tubs with the appropriate chemicals and adhere to strict maintenance schedules.
Don't drink the water: Because it simply hasn't been processed for human consumption, it's a really bad idea to gulp down anything from a recreational watering hole. There's just no telling what you'll be ingesting.
Check the inspection score: Pools and water parks open to the public all have inspections that are facilitated by the local municipality. If you have concerns, ask to see the latest inspection score. The CDC says that 20% of 13,864 routine inspections of public hot tubs/spas conducted in 16 jurisdictions in 2013 identified improper disinfectant concentrations.
If you smell chlorine everywhere, there's too much: That's the rule of thumb posited by researchers Brent S. Rushall and Larry Weisenthal to ParentingScience.com. Inform the pool manager about your concerns.
If you happen to have a pool at your home, proper maintenance can save you time and money. Here's how to treat your pool.


Our undergraduate student ministry hopes to invite other students on campus to experience our community. Accessout serves as an opportunity for students to invite their friends to engage in interactive activities with their LIFE groups. Through fellowship and outreach activities, students are able to build relationships with others on campus and share with them their LIFE group community.


Today is the festival of lights, and I wish each and everyone of our readers a very happy and prosperous Diwali. May this festival of lights bring happiness and joy to each and everyone of us. may the God shower his Blessings on those who need it the most.
Even Google is celebrating the Festival of Lights :) Enjoy to the max, but take care of your safety too.


text:
Home Publishing Bookselling and bookshops Indian literary agents have made inroads: Kanishka Gupta
Indian literary agents have made inroads: Kanishka Gupta
Gupta speaks about publishing in India, challenges faced by literary agents and home-grown writers
Priyanka Tanwar
Literary agent, publishing commentator, and author Kanishka Gupta at the 2022 in-person Jaipur Literature Festival. Photo IPP
Correspondent Priyanka Tanwar spoke with literary agent, publishing commentator, and author Kanishka Gupta at the 2022 in-person Jaipur Literature Festival about agenting in India; representing International Booker 2022-winning translator Daisy Rockwell; the lack of publishing bodies in India; and, the challenges faced by literary agents.
IPP – How did you become a literary agent? How long have you been doing it?
Kanishka Gupta – I have been a literary agent for more than 10 years. I did not intend to be an agent, in fact, I did not even intend to be a writer. Because of personal reasons, I started writing after the age of 18 and at that time I did not find any support system for first-time writers. They were hugely dependent on feedback from friends and family and they would not say anything bad about the book, so I set up Writers Side in 2008. It did not start out as an agency; we were a manuscript critiquing service giving feedback to first-time writers for a fee and helping them hone their work. A couple of years down the line, I grew tired of editing and critiquing, and I wanted to introduce new extraordinary literary talent, and that's how I got into agenting. In fact, my first writer is Anees Salim and he's won many prizes. It all happened accidentally.
IPP – Please explain what a literary agent does in the Indian publishing industry.
Kanishka Gupta – We have come a long way, but it's nowhere close to the influence that the UK and US agents wielded over publishing, internationally. One of the primary reasons is that publishers like to commission directly, and why not because they end up getting books for a cheaper price? An agent normally sends out the proposal to many publishers and tries to pit one publisher against the other. But a very good agent will also negotiate over smaller things such as the term of copyright of the contract, other rights that are being offered to the publisher, and the territory of the contract. Agents have made great inroads. In fact, two of the biggest deals that have happened in Indian publishing are via agents: one of them involved the Red Ink Literary Agency, which was instrumental in a three-book deal for Amish Tripathi with Westland Books. It was a record-breaking deal, and so high was the advance that it was on the front page of The Times of India. Now, the Tata biography, which has been picked up by Harper Collins, involves an agent and that's also a record advance for a work of non-fiction coming out of India, but we have a long way to go.
IPP – A Hindi translation recently won the Booker Prize. What's your view?
Tomb of Sand by Geetanjali Shree, translated by Daisy Rockwell. Photo IPP
Kanishka Gupta – That's my book. I represent the translator, Daisy Rockwell. That's unprecedented and I would say that this has never happened before. I don't know why people are just saying Hindi translation because no South Asian language book has ever won the International Booker, or appeared on the long list.
You have so many Indian languages. What about some other countries of the subcontinent? Those books are also translated into English, and some of them get published in the UK, but there has been no English translation of a South Asian language that has won the International Booker or appeared on the long list, so it's unprecedented. Many Indian authors have won the Booker Prize, so many of them have been long-listed or shortlisted, but this is a first. It's always good to be a part of a historic moment like this.
IPP – Indian translations have recently done very well. What are your thoughts on this?
Kanishka Gupta – A well-received, well-reviewed English translation of a fiction work originally written in any Indian language will do as well as a well-received promising work of fiction originally written in English.
IPP – How do you select the books that you want to represent?
Kanishka Gupta – I represent books across the spectrum. We are very genre-agnostic. I need to connect with the book, I need to see value in it, and if I feel that a book deserves to be published, then I am going to champion it and try and get it a publisher even if the returns are not very high, at least immediately. We are open to working on graphic novels, poetry, and even academic works.
For fiction, we need to read the whole manuscript unless it's a very, very big name, and even then, I encourage my authors to submit the full book. Sometimes, one runs the risk of getting a lower price because publishers can always give the excuse that we are taking a risk, we do not know how this is going to end. In fiction, one needs to read till the very end to make up one's mind about the book.
In nonfiction, we work on proposals, and ideally, I would like the authors to submit a chapter or two, but we are happy to pick up works of non-fiction based on a proposal and the expertise of the author. I mean, why is this author working on this book? Are they like experts in the field? Do they have access to some material or research that nobody else does?
IPP – In what ways do Indian literary agents differ from their foreign counterparts?
Kanishka Gupta – We don't have as much influence as agents in the UK and the US. We cannot get big advances for all our authors. But because agenting has become well known in India, it has also created a lot of awareness among South Asian writers – now they expect us to pitch to OTT platforms, they expect us to sell audio rights, they expect us to sell books in Indian languages, but most importantly they expect us to be on a par with the UK/US agents for the representation of their books.
Anybody would want to get their books reviewed in The New York Times and The Times, and they would like their books to be eligible for the Booker prizes and other prestigious prizes. Most of these prizes do not entertain books that are not published in the UK or the US. So yes, we are not at all as influential as the UK and US agents, but that doesn't mean we are not as good as them. And I think things are going to change.
The Girl in White Cotton by Avni Doshi. Photo Amazon
For instance, I discovered a Booker-shortlisted writer this year – Girl in White Cotton by Avni Doshi was represented by me. It was agented by another agent in the UK and the US and came out under the name Burnt Sugar. I have a translator who has won the International Booker Prize and is represented by me internationally. I was involved in the sale of Tomb of Sand in the UK, the US, and South Asia.
IPP – What are your views on literary bodies such as the Association of Authors' Representatives (AAR)? Do you think that having such a body in India could work wonders for the Indian publishing industry as a whole?
Kanishka Gupta – Of course, we need them, we need them, and we need to band together like even agents need to come together. We need these bodies – we need to safeguard the rights of authors and creative professionals. We don't have any professional publishing organizations in India, it is pitiable and pathetic, but what to do?
IPP – Are you friends with other literary agents?
Kanishka Gupta – I used to write a lot for Scroll, and I also put together a series called 'Publishing in the Pandemic' during the initial Covid-19 period, which received significant critical acclaim. I have a platform, and I have rival agents too, and I have written about rival agents as we need to be pretty objective. They also need to be profiled, and if the story is interesting enough, then why not?
IPP – What challenges does a literary agent face in the process of getting a publishing contract?
Kanishka Gupta – Just like you need to find the right editor and publisher for the idea of the story that you are pitching, it's very, very hard to pitch debut fiction because sales are always in the range of one thousand to two thousand. And even if the book is acclaimed and wins an award, it doesn't normally translate into sales. It's always difficult to sell fiction but I have persevered during the Covid-19 pandemic. I have pitched poetry collections during the pandemic, offbeat works of fiction, and genre fiction during the pandemic. The struggle is to get a publisher and the right editor for the right vision of the book.
IPP – Do you have a message for our readers?
Kanishka Gupta – I would request your readers and book lovers to read more Indian fiction and not just the fiction that is getting acclaim from the West. They should read the home-grown writers and genre fiction by Indian writers.
Some Indian writers write good crime, they write good horror stories, and they are good with science fiction. I feel that Indian readers are really not interested in reading genre fiction from India and have their old favorites. Please read, promote fiction from India and write about it, and recommend it to your fellow readers.
IPP – Thank you for speaking with Indian Printer & Publisher
Previous articleMedia Expo 2022 to take place in Greater Noida from 1 September
Next articleArrow Digital installs advanced printer at Bhavesh Sign
International Prize for Arabic Fiction announces 2023 longlist
Focus on translations at Jaipur Literature Festival

redpajama_set_name: RedPajamaCommonCrawl


HEALTHWIREFM | Closer to Truth - What is Enlightenment?
Can enlightenment be expressed with words? Oneness. Wholeness. No boundaries. Or is enlightenment ineffable, only to be experienced, not to be explained? What can we learn from mystics? Can ordinary people become enlightened?


text:
Lady Grads
Stars Competitive
Development Stream (DS)
Initiation Program (IP)
Team Contact Information
Volunteer 101
Make a site with TeamSnap.
GM Lady Grads
By Marc Séguin | December 15, 2021
GCGH is looking to fill a position for the role of General Manager for the Lady Grads. This person will be responsible for overseeing the High-Performance Development Program (LGHPD) at GCGH. This includes overseeing the Lady Grads U22AA, U18AA, and U15AA operations and ensuring that both a short-term and long-term plan is in place to…
Lady Stars Announcement
By Marc Séguin | December 7, 2021
GCGH is proud & excited to announce the launch of the Senior AA/A Lady Stars team for the upcoming 2022/23 season. This is an initiative undertaken by GCGH to allow retired/retiring players to continue to play hockey while pursuing post-secondary studies or while starting their careers. The team will be seeking a spot in the…
Call Out For 2022 Tier 1/2 Coaches – AA/A/BB
We are now seeking candidates for competitive coaches for Tier 1 and Tier 2 (AA/A/BB) for next season. More details on the necessary qualifications are in THIS FILE. If you are interested, please submit your hockey resume to vpcomp@gcgh.ca.
By Marc Séguin | July 16, 2021 | 2
We received an update from OWHA. Essentially it looks like the upcoming season will be much closer to normal than we had last year. We anticipate league play, tournaments starting October 1 and the Provincial Championships to go ahead. U11 and U9 will be required to follow the Hockey Canada Pathway meaning they can not…
Spring 2020 Tryouts Update
By Marc Séguin | March 16, 2020
FROM OWHA – SPRING TRYOUTS WILL NOT BE TAKING PLACE THIS SPRING. As you may have seen, the Ontario Women's Hockey Association (OWHA), issued a statement March 12 in support of the Hockey Canada Statement quoted below referencing the 2019-20 season. HOCKEY CANADA STATEMENT IN RESPONSE TO CORONAVIRUS (COVID-19) CALGARY, Alta. – The following is…
COVID-19 Update – March 12
Hockey Canada, as a result of Covid-19, and in support of player and participant safety has cancelled all Hockey Canada sanctioned activities, including: National Championships until further notice, effective Friday, March 13, 2020. All OWHA games, practices, tryouts and sanctioned activities have been cancelled until further notice effective 12:01am on Friday March 13, 2020. The…
MOGHL House League Finals Information
By Marc Séguin | February 11, 2020
The playoff format for house league teams will resemble a week-long tournament. At a glance, this covers: Games will be played between Sunday March 29 and Saturday April 4 Championship games will be played on Sunday April 5, between 8AM and 8PM There will be A & B pools, based on the season's standing For…
Hannah Saunders & Team Lebanon
By Marc Séguin | January 8, 2020
On December 28th and 29th, 2019, our very own Hannah Saunders, goalie from the GCGH Lady Grads Intermediate AA program, had the honor to be part of the National Lebanese Women's Hockey team playing in their first ever games as an International Ice Hockey Federation (IIHF) member. In Team Lebanon's first game, which was featured…
Tier 1 Coach Announcement & Applications for Other Teams
First and foremost, on behalf of the GCGH Board, thank you to all of our parents, to the coaching staff, den moms, managers and all volunteers for your time and dedication to our girls. Wishing you and your families happy holidays. GCCH is proud to announce the following coaches for the 2020/21 season. Intermediate AA…
Accepting Tier 1/2 Head Coaching Applications
By Marc Séguin | November 16, 2019
The Gloucester Cumberland Girls Hockey Association is now accepting applications for Head Coach of its tier 1 and tier 2 programs for the ATOM, PEEWEE, BANTAM, MIDGET and Intermediate teams for the 2020/2021 season. Could you please submit the following to president@gcgh.ca: A brief summary of why you are interested in coaching; At least two references; Resume.…
© 2019 Gloucester-Cumberland Girls Hockey | Powered by TeamSnap®


text:
<!DOCTYPE html>

Loading Model...

#

redpajama_set_name: RedPajamaGithub


text:
Q: Says misaligned &. Not sure why \[
P\{\text{ever enter}\ j\rvert \text{start in}\ i\}
= P\bigg\{\bigcup_{n=0}^{\infty} \{X_n = j \bigg\rvert X_0 = i \bigg\}
& \leq \sum_{n=0}^{\infty} P\{X_n = j \rvert X_0 = i\}
& = \sum_{n=0}^{\infty} P_{ij}^{n}
& = 0
\]

A: I assume there are missing new line commands as well as an inside aligned or similar:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  \begin{aligned}
    P\{\text{ever enter}\ j\rvert \text{start in}\ i\}
    & = P\bigg\{\bigcup_{n=0}^{\infty} \{X_n = j \bigg\rvert X_0 = i \bigg\}
    \\
    & \leq \sum_{n=0}^{\infty} P\{X_n = j \rvert X_0 = i\}
    \\
    & = \sum_{n=0}^{\infty} P_{ij}^{n}
    \\
    & = 0
  \end{aligned}
\]
\end{document}

The inner aligned makes sense, if the whole system gets one equation
number; e.g., if environment gather or equation replaces \[ and \].
Without numbers, the star form align* can be used instead of \[/\] and the inner aligned.

A: While Heiko's answer addresses the main point, it doesn't fix several typographic mistakes in the source.

*

*\rvert is a right vertical bar, used as a delimiter on the right; it should be \mid when used as a separator for conditions and | if it follows \left, \right or \[bB]ig[g]m (see below)

*\bigg makes an ordinary symbol; in order to produce a delimiter, it should be \biggl or \biggr, depending on the side; for a separator (technically a relation symbol) it should be \biggm; such lrm variants exist for \big, \Big, \bigg and \Bigg.

*\text{ever enter }j and \text{ever enter}\ j are clumsy and error prone; much better is \text{ever enter $j$}

*When a big delimiter is followed by a \sum-like operator (here \bigcup) having a wide condition underneath, it's better to give some more room with \,

*A brace is missing in the first summation.
Complete example
\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[
\begin{aligned}
  P\{\text{ever enter $j$} \mid \text{start in $i$}\}
  & = P\biggl\{\,\bigcup_{n=0}^{\infty} \{X_n = j\} \biggm| X_0 = i \biggr\}
  \\
  & \leq \sum_{n=0}^{\infty} P\{X_n = j \mid X_0 = i\}
  \\
  & = \sum_{n=0}^{\infty} P_{ij}^{n}
  \\
  & = 0
  \end{aligned}
\]

\end{document}

redpajama_set_name: RedPajamaStackExchange


text:
Russian Hackers who Target Power Grids and Nuclear Plants Threaten US Elections
Posted on October 24, 2020 at 4:55 PM
The Russian government reportedly deployed its most professional and stealthiest hacking team to break into the US' state and local government networks, although its motivations remain unknown.
After it was discovered that Russian state-backed hackers impacted the US presidential elections in 2016, the country spent a lot of time and effort in attempts to prevent something like that from happening the second time. However, the hackers still managed to hit dozens of US local and state government systems, only two months before the election date.
As time went by, these attacks continued, and now, there is only about a week and a half until November 3rd, when the elections are scheduled to take place.
However, cybersecurity officials are not worried about the act of targeting state and local government networks. No, their concern lies with who is conducting these attacks.
A dangerous attacker
Several months ago, US officials were quite concerned about the hackers who hit the US election systems in 2016, expecting them to come back this time, as well. However, in researching these smaller attacks, they discovered that a different group is causing trouble this time around.
The group is question is a Russian hacking gang known as Energetic Bear, or Dragonfly. This is a well-known name in the hacking world, and it is used by a group that commonly targets the energy sector.
These hackers had nothing to do with the 2016 elections, but they have been known for breaching the systems of various power grids, nuclear power plants, water treatment facilities, and alike. This is also the same group that hit the San Francisco International Airport's Wi-Fi systems, as well as two other airports on the West Coast, only to find one unidentified traveler.
The hackers have demonstrated great power, strong resolve, and extreme resourcefulness.
However, before September, they were never caught targeting counties and states. Furthermore, the timing when the security researchers noticed these intrusions is suspicious, since it is so close to the actual elections. The possibility that they will somehow disrupt the process led to many concerns in law enforcement, security companies, and especially in intelligence agencies.
The hackers have quite a reputation
The Department of Homeland Security official noted that it is possible that Russians are sending the best they have this year. During the last election, the hacking group that attempted to manipulate the voting process was rather noisy, and it made a noticeable mess.
This group, however, is extremely well-known for its stealthy approach. The US officials recently described the hacking in an advisory, calling it 'opportunistic,' meaning that the hackers were allegedly scanning for any kind of flaw, and did not particularly focus on election infrastructure.
However, researchers were not reassured by such claims. Some of them have been trying to track Energetic Bear and stand in its way for years now. Adam Mayers, for example, who acts as the head of threat intelligence at CrowdStrike, believes that this was a preparatory series of attacks. In other words, hackers simply tested the defenses of the system in an attempt to find weak spots and know where they can get in, should the need arise.
This is the group's typical approach, as they tend to cast a wide net, and then identify few targets of high value. They would also target low-security networks which are usually quite small, but they could provide access to major networks through them. So far, their success was nothing short of remarkable, as they conducted successful attacks in the US and Europe alike.
What do the Russians want?
The biggest concern right now is that these attacks clearly indicate that Russia has the intent and ability to target the important US systems. The question is what is it planning to do with it. Some believe that it might wait to see who will be elected, and then proceed to announce its hacking team's presence.
If the country wants Trump to be re-elected and aims to improve its relationship with the US, then sending a stealthy team that can quietly withdraw makes sense. If Biden ends up the victor, and Russia doesn't like that, it may use its hackers to delegitimize him, Entering the systems without much noise gives it different options, so the real question is — what is Russia after, and how will the eletion results fit into its plans?
The Russian government reportedly deployed its most professional and stealthiest hacking team to break into the US' state and local government networks, although its motivations remain unknown.


text:
/*!
    \file  gd32f4xx_rcu.c
    \brief RCU driver
*/

/*
    Copyright (C) 2016 GigaDevice

    2016-08-15, V1.0.1, firmware for GD32F4xx
*/

#include "gd32f4xx_rcu.h"

#define SEL_IRC16M                  0U
#define SEL_HXTAL                   1U
#define SEL_PLLP                    2U
#define OSC_STARTUP_TIMEOUT         ((uint16_t)0xfffffU)
#define LXTAL_STARTUP_TIMEOUT       ((uint16_t)0x3ffffffU)

/*!
    \brief      deinitialize the RCU
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_deinit(void)
{
    /* enable IRC16M */
    RCU_CTL |= RCU_CTL_IRC16MEN;
    rcu_osci_stab_wait(RCU_IRC16M);
    /* reset CFG0 register */
    RCU_CFG0 &= ~(RCU_CFG0_SCS | RCU_CFG0_AHBPSC | RCU_CFG0_APB1PSC | RCU_CFG0_APB2PSC |
                  RCU_CFG0_RTCDIV | RCU_CFG0_CKOUT0SEL | RCU_CFG0_I2SSEL | RCU_CFG0_CKOUT0DIV |
                  RCU_CFG0_CKOUT1DIV | RCU_CFG0_CKOUT1SEL);
    /* reset CTL register */
    RCU_CTL &= ~(RCU_CTL_HXTALEN | RCU_CTL_CKMEN | RCU_CTL_PLLEN | RCU_CTL_PLLI2SEN |
                 RCU_CTL_PLLSAIEN | RCU_CTL_HXTALBPS);
    /* reset PLL register */
    RCU_PLL = 0x24003010U;
    /* reset PLLI2S register */
    RCU_PLLI2S = 0x24003000U;
    /* reset PLLSAI register */
    RCU_PLLSAI = 0x24003010U;
    /* reset INT register */
    RCU_INT = 0x00000000U;
    /* reset CFG1 register */
    RCU_CFG1 &= ~(RCU_CFG1_PLLSAIRDIV | RCU_CFG1_TIMERSEL);
}

/*!
    \brief      enable the peripherals clock
    \param[in]  periph: RCU peripherals, refer to rcu_periph_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_GPIOx (x=A,B,C,D,E,F,G,H,I): GPIO ports clock
      \arg        RCU_CRC: CRC clock
      \arg        RCU_BKPSRAM: BKPSRAM clock
      \arg        RCU_TCMSRAM: TCMSRAM clock
      \arg        RCU_DMAx (x=0,1): DMA clock
      \arg        RCU_IPA: IPA clock
      \arg        RCU_ENET: ENET clock
      \arg        RCU_ENETTX: ENETTX clock
      \arg        RCU_ENETRX: ENETRX clock
      \arg        RCU_ENETPTP: ENETPTP clock
      \arg        RCU_USBHS: USBHS clock
      \arg        RCU_USBHSULPI: USBHSULPI clock
      \arg        RCU_DCI: DCI clock
      \arg        RCU_TRNG: TRNG clock
      \arg        RCU_USBFS: USBFS clock
      \arg        RCU_EXMC: EXMC clock
      \arg        RCU_TIMERx (x=0,1,2,3,4,5,6,7,8,9,10,11,12,13): TIMER clock
      \arg        RCU_WWDGT: WWDGT clock
      \arg        RCU_SPIx (x=0,1,2,3,4,5): SPI clock
      \arg        RCU_USARTx (x=0,1,2,5): USART clock
      \arg        RCU_UARTx (x=3,4,6,7): UART clock
      \arg        RCU_I2Cx (x=0,1,2): I2C clock
      \arg        RCU_CANx (x=0,1): CAN clock
      \arg        RCU_PMU: PMU clock
      \arg        RCU_DAC: DAC clock
      \arg        RCU_RTC: RTC clock
      \arg        RCU_ADCx (x=0,1,2): ADC clock
      \arg        RCU_SDIO: SDIO clock
      \arg        RCU_SYSCFG: SYSCFG clock
      \arg        RCU_TLI: TLI clock
      \arg        RCU_CTC: CTC clock
      \arg        RCU_IREF: IREF clock
    \param[out] none
    \retval     none
*/
void rcu_periph_clock_enable(rcu_periph_enum periph)
{
    RCU_REG_VAL(periph) |= BIT(RCU_BIT_POS(periph));
}

/*!
    \brief      disable the peripherals clock
    \param[in]  periph: RCU peripherals, refer to rcu_periph_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_GPIOx (x=A,B,C,D,E,F,G,H,I): GPIO ports clock
      \arg        RCU_CRC: CRC clock
      \arg        RCU_BKPSRAM: BKPSRAM clock
      \arg        RCU_TCMSRAM: TCMSRAM clock
      \arg        RCU_DMAx (x=0,1): DMA clock
      \arg        RCU_IPA: IPA clock
      \arg        RCU_ENET: ENET clock
      \arg        RCU_ENETTX: ENETTX clock
      \arg        RCU_ENETRX: ENETRX clock
      \arg        RCU_ENETPTP: ENETPTP clock
      \arg        RCU_USBHS: USBHS clock
      \arg        RCU_USBHSULPI: USBHSULPI clock
      \arg        RCU_DCI: DCI clock
      \arg        RCU_TRNG: TRNG clock
      \arg        RCU_USBFS: USBFS clock
      \arg        RCU_EXMC: EXMC clock
      \arg        RCU_TIMERx (x=0,1,2,3,4,5,6,7,8,9,10,11,12,13): TIMER clock
      \arg        RCU_WWDGT: WWDGT clock
      \arg        RCU_SPIx (x=0,1,2,3,4,5): SPI clock
      \arg        RCU_USARTx (x=0,1,2,5): USART clock
      \arg        RCU_UARTx (x=3,4,6,7): UART clock
      \arg        RCU_I2Cx (x=0,1,2): I2C clock
      \arg        RCU_CANx (x=0,1): CAN clock
      \arg        RCU_PMU: PMU clock
      \arg        RCU_DAC: DAC clock
      \arg        RCU_RTC: RTC clock
      \arg        RCU_ADCx (x=0,1,2): ADC clock
      \arg        RCU_SDIO: SDIO clock
      \arg        RCU_SYSCFG: SYSCFG clock
      \arg        RCU_TLI: TLI clock
      \arg        RCU_CTC: CTC clock
      \arg        RCU_IREF: IREF clock
    \param[out] none
    \retval     none
*/
void rcu_periph_clock_disable(rcu_periph_enum periph)
{
    RCU_REG_VAL(periph) &= ~BIT(RCU_BIT_POS(periph));
}

/*!
    \brief      enable the peripherals clock when sleep mode
    \param[in]  periph: RCU peripherals, refer to rcu_periph_sleep_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_GPIOx_SLP (x=A,B,C,D,E,F,G,H,I): GPIO ports clock
      \arg        RCU_CRC_SLP: CRC clock
      \arg        RCU_FMC_SLP: FMC clock
      \arg        RCU_SRAM0_SLP: SRAM0 clock
      \arg        RCU_SRAM1_SLP: SRAM1 clock
      \arg        RCU_BKPSRAM: BKPSRAM clock
      \arg        RCU_SRAM2_SLP: SRAM2 clock
      \arg        RCU_DMAx_SLP (x=0,1): DMA clock
      \arg        RCU_IPA_SLP: IPA clock
      \arg        RCU_ENET_SLP: ENET clock
      \arg        RCU_ENETTX_SLP: ENETTX clock
      \arg        RCU_ENETRX_SLP: ENETRX clock
      \arg        RCU_ENETPTP_SLP: ENETPTP clock
      \arg        RCU_USBHS_SLP: USBHS clock
      \arg        RCU_USBHSULPI_SLP: USBHSULPI clock
      \arg        RCU_DCI_SLP: DCI clock
      \arg        RCU_TRNG_SLP: TRNG clock
      \arg        RCU_USBFS_SLP: USBFS clock
      \arg        RCU_EXMC_SLP: EXMC clock
      \arg        RCU_TIMERx_SLP (x=0,1,2,3,4,5,6,7,8,9,10,11,12,13): TIMER clock
      \arg        RCU_WWDGT_SLP: WWDGT clock
      \arg        RCU_SPIx_SLP (x=0,1,2,3,4,5): SPI clock
      \arg        RCU_USARTx_SLP (x=0,1,2,5): USART clock
      \arg        RCU_UARTx_SLP (x=3,4,6,7): UART clock
      \arg        RCU_I2Cx_SLP (x=0,1,2): I2C clock
      \arg        RCU_CANx_SLP (x=0,1): CAN clock
      \arg        RCU_PMU_SLP: PMU clock
      \arg        RCU_DAC_SLP: DAC clock
      \arg        RCU_RTC_SLP: RTC clock
      \arg        RCU_ADCx_SLP (x=0,1,2): ADC clock
      \arg        RCU_SDIO_SLP: SDIO clock
      \arg        RCU_SYSCFG_SLP: SYSCFG clock
      \arg        RCU_TLI_SLP: TLI clock
      \arg        RCU_CTC_SLP: CTC clock
      \arg        RCU_IREF_SLP: IREF clock
    \param[out] none
    \retval     none
*/
void rcu_periph_clock_sleep_enable(rcu_periph_sleep_enum periph)
{
    RCU_REG_VAL(periph) |= BIT(RCU_BIT_POS(periph));
}

/*!
    \brief      disable the peripherals clock when sleep mode
    \param[in]  periph: RCU peripherals, refer to rcu_periph_sleep_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_GPIOx_SLP (x=A,B,C,D,E,F,G,H,I): GPIO ports clock
      \arg        RCU_CRC_SLP: CRC clock
      \arg        RCU_FMC_SLP: FMC clock
      \arg        RCU_SRAM0_SLP: SRAM0 clock
      \arg        RCU_SRAM1_SLP: SRAM1 clock
      \arg        RCU_BKPSRAM: BKPSRAM clock
      \arg        RCU_SRAM2_SLP: SRAM2 clock
      \arg        RCU_DMAx_SLP (x=0,1): DMA clock
      \arg        RCU_IPA_SLP: IPA clock
      \arg        RCU_ENET_SLP: ENET clock
      \arg        RCU_ENETTX_SLP: ENETTX clock
      \arg        RCU_ENETRX_SLP: ENETRX clock
      \arg        RCU_ENETPTP_SLP: ENETPTP clock
      \arg        RCU_USBHS_SLP: USBHS clock
      \arg        RCU_USBHSULPI_SLP: USBHSULPI clock
      \arg        RCU_DCI_SLP: DCI clock
      \arg        RCU_TRNG_SLP: TRNG clock
      \arg        RCU_USBFS_SLP: USBFS clock
      \arg        RCU_EXMC_SLP: EXMC clock
      \arg        RCU_TIMERx_SLP (x=0,1,2,3,4,5,6,7,8,9,10,11,12,13): TIMER clock
      \arg        RCU_WWDGT_SLP: WWDGT clock
      \arg        RCU_SPIx_SLP (x=0,1,2,3,4,5): SPI clock
      \arg        RCU_USARTx_SLP (x=0,1,2,5): USART clock
      \arg        RCU_UARTx_SLP (x=3,4,6,7): UART clock
      \arg        RCU_I2Cx_SLP (x=0,1,2): I2C clock
      \arg        RCU_CANx_SLP (x=0,1): CAN clock
      \arg        RCU_PMU_SLP: PMU clock
      \arg        RCU_DAC_SLP: DAC clock
      \arg        RCU_RTC_SLP: RTC clock
      \arg        RCU_ADCx_SLP (x=0,1,2): ADC clock
      \arg        RCU_SDIO_SLP: SDIO clock
      \arg        RCU_SYSCFG_SLP: SYSCFG clock
      \arg        RCU_TLI_SLP: TLI clock
      \arg        RCU_CTC_SLP: CTC clock
      \arg        RCU_IREF_SLP: IREF clock
    \param[out] none
    \retval     none
*/
void rcu_periph_clock_sleep_disable(rcu_periph_sleep_enum periph)
{
    RCU_REG_VAL(periph) &= ~BIT(RCU_BIT_POS(periph));
}

/*!
    \brief      reset the peripherals
    \param[in]  periph_reset: RCU peripherals reset, refer to rcu_periph_reset_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_GPIOxRST (x=A,B,C,D,E,F,G,H,I): reset GPIO ports
      \arg        RCU_CRCRST: reset CRC
      \arg        RCU_DMAxRST (x=0,1): reset DMA
      \arg        RCU_IPAENRST: reset IPA
      \arg        RCU_ENETRST: reset ENET
      \arg        RCU_USBHSRST: reset USBHS
      \arg        RCU_DCIRST: reset DCI
      \arg        RCU_TRNGRST: reset TRNG
      \arg        RCU_USBFSRST: reset USBFS
      \arg        RCU_EXMCRST: reset EXMC
      \arg        RCU_TIMERxRST (x=0,1,2,3,4,5,6,7,8,9,10,11,12,13): reset TIMER
      \arg        RCU_WWDGTRST: reset WWDGT
      \arg        RCU_SPIxRST (x=0,1,2,3,4,5): reset SPI
      \arg        RCU_USARTxRST (x=0,1,2,5): reset USART
      \arg        RCU_UARTxRST (x=3,4,6,7): reset UART
      \arg        RCU_I2CxRST (x=0,1,2): reset I2C
      \arg        RCU_CANxRST (x=0,1): reset CAN
      \arg        RCU_PMURST: reset PMU
      \arg        RCU_DACRST: reset DAC
      \arg        RCU_ADCRST (x=0,1,2): reset ADC
      \arg        RCU_SDIORST: reset SDIO
      \arg        RCU_SYSCFGRST: reset SYSCFG
      \arg        RCU_TLIRST: reset TLI
      \arg        RCU_CTCRST: reset CTC
      \arg        RCU_IREFRST: reset IREF
    \param[out] none
    \retval     none
*/
void rcu_periph_reset_enable(rcu_periph_reset_enum periph_reset)
{
    RCU_REG_VAL(periph_reset) |= BIT(RCU_BIT_POS(periph_reset));
}

/*!
    \brief      disable reset the peripheral
    \param[in]  periph_reset: RCU peripherals reset, refer to rcu_periph_reset_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_GPIOxRST (x=A,B,C,D,E,F,G,H,I): reset GPIO ports
      \arg        RCU_CRCRST: reset CRC
      \arg        RCU_DMAxRST (x=0,1): reset DMA
      \arg        RCU_IPAENRST: reset IPA
      \arg        RCU_ENETRST: reset ENET
      \arg        RCU_USBHSRST: reset USBHS
      \arg        RCU_DCIRST: reset DCI
      \arg        RCU_TRNGRST: reset TRNG
      \arg        RCU_USBFSRST: reset USBFS
      \arg        RCU_EXMCRST: reset EXMC
      \arg        RCU_TIMERxRST (x=0,1,2,3,4,5,6,7,8,9,10,11,12,13): reset TIMER
      \arg        RCU_WWDGTRST: reset WWDGT
      \arg        RCU_SPIxRST (x=0,1,2,3,4,5): reset SPI
      \arg        RCU_USARTxRST (x=0,1,2,5): reset USART
      \arg        RCU_UARTxRST (x=3,4,6,7): reset UART
      \arg        RCU_I2CxRST (x=0,1,2): reset I2C
      \arg        RCU_CANxRST (x=0,1): reset CAN
      \arg        RCU_PMURST: reset PMU
      \arg        RCU_DACRST: reset DAC
      \arg        RCU_ADCRST (x=0,1,2): reset ADC
      \arg        RCU_SDIORST: reset SDIO
      \arg        RCU_SYSCFGRST: reset SYSCFG
      \arg        RCU_TLIRST: reset TLI
      \arg        RCU_CTCRST: reset CTC
      \arg        RCU_IREFRST: reset IREF
    \param[out] none
    \retval     none
*/
void rcu_periph_reset_disable(rcu_periph_reset_enum periph_reset)
{
    RCU_REG_VAL(periph_reset) &= ~BIT(RCU_BIT_POS(periph_reset));
}

/*!
    \brief      reset the BKP
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_bkp_reset_enable(void)
{
    RCU_BDCTL |= RCU_BDCTL_BKPRST;
}

/*!
    \brief      disable the BKP reset
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_bkp_reset_disable(void)
{
    RCU_BDCTL &= ~RCU_BDCTL_BKPRST;
}

/*!
    \brief      configure the system clock source
    \param[in]  ck_sys: system clock source select
                only one parameter can be selected which is shown as below:
      \arg        RCU_CKSYSSRC_IRC16M: select CK_IRC16M as the CK_SYS source
      \arg        RCU_CKSYSSRC_HXTAL: select CK_HXTAL as the CK_SYS source
      \arg        RCU_CKSYSSRC_PLLP: select CK_PLLP as the CK_SYS source
    \param[out] none
    \retval     none
*/
void rcu_system_clock_source_config(uint32_t ck_sys)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the SCS bits and set according to ck_sys */
    reg &= ~RCU_CFG0_SCS;
    RCU_CFG0 = (reg | ck_sys);
}

/*!
    \brief      get the system clock source
    \param[in]  none
    \param[out] none
    \retval     which clock is selected as CK_SYS source
      \arg        RCU_SCSS_IRC16M: CK_IRC16M is selected as the CK_SYS source
      \arg        RCU_SCSS_HXTAL: CK_HXTAL is selected as the CK_SYS source
      \arg        RCU_SCSS_PLLP: CK_PLLP is selected as the CK_SYS source
*/
uint32_t rcu_system_clock_source_get(void)
{
    return (RCU_CFG0 & RCU_CFG0_SCSS);
}

/*!
    \brief      configure the AHB clock prescaler selection
    \param[in]  ck_ahb: AHB clock prescaler selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_AHB_CKSYS_DIVx, x=1, 2, 4, 8, 16, 64, 128, 256, 512
    \param[out] none
    \retval     none
*/
void rcu_ahb_clock_config(uint32_t ck_ahb)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the AHBPS bits and set according to ck_ahb */
    reg &= ~RCU_CFG0_AHBPSC;
    RCU_CFG0 = (reg | ck_ahb);
}

/*!
    \brief      configure the APB1 clock prescaler selection
    \param[in]  ck_apb1: APB1 clock prescaler selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_APB1_CKAHB_DIV1: select CK_AHB as CK_APB1
      \arg        RCU_APB1_CKAHB_DIV2: select CK_AHB/2 as CK_APB1
      \arg        RCU_APB1_CKAHB_DIV4: select CK_AHB/4 as CK_APB1
      \arg        RCU_APB1_CKAHB_DIV8: select CK_AHB/8 as CK_APB1
      \arg        RCU_APB1_CKAHB_DIV16: select CK_AHB/16 as CK_APB1
    \param[out] none
    \retval     none
*/
void rcu_apb1_clock_config(uint32_t ck_apb1)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the APB1PS and set according to ck_apb1 */
    reg &= ~RCU_CFG0_APB1PSC;
    RCU_CFG0 = (reg | ck_apb1);
}

/*!
    \brief      configure the APB2 clock prescaler selection
    \param[in]  ck_apb2: APB2 clock prescaler selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_APB2_CKAHB_DIV1: select CK_AHB as CK_APB2
      \arg        RCU_APB2_CKAHB_DIV2: select CK_AHB/2 as CK_APB2
      \arg        RCU_APB2_CKAHB_DIV4: select CK_AHB/4 as CK_APB2
      \arg        RCU_APB2_CKAHB_DIV8: select CK_AHB/8 as CK_APB2
      \arg        RCU_APB2_CKAHB_DIV16: select CK_AHB/16 as CK_APB2
    \param[out] none
    \retval     none
*/
void rcu_apb2_clock_config(uint32_t ck_apb2)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the APB2PS and set according to ck_apb2 */
    reg &= ~RCU_CFG0_APB2PSC;
    RCU_CFG0 = (reg | ck_apb2);
}

/*!
    \brief      configure the CK_OUT0 clock source and divider
    \param[in]  ckout0_src: CK_OUT0 clock source selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_CKOUT0SRC_IRC16M: IRC16M selected
      \arg        RCU_CKOUT0SRC_LXTAL: LXTAL selected
      \arg        RCU_CKOUT0SRC_HXTAL: HXTAL selected
      \arg        RCU_CKOUT0SRC_PLLP: PLLP selected
    \param[in]  ckout0_div: CK_OUT0 divider
      \arg        RCU_CKOUT0_DIVx(x=1,2,3,4,5): CK_OUT0 is divided by x
    \param[out] none
    \retval     none
*/
void rcu_ckout0_config(uint32_t ckout0_src, uint32_t ckout0_div)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the CKOUT0SRC, CKOUT0DIV and set according to ckout0_src and ckout0_div */
    reg &= ~(RCU_CFG0_CKOUT0SEL | RCU_CFG0_CKOUT0DIV );
    RCU_CFG0 = (reg | ckout0_src | ckout0_div);
}

/*!
    \brief      configure the CK_OUT1 clock source and divider
    \param[in]  ckout1_src: CK_OUT1 clock source selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_CKOUT1SRC_SYSTEMCLOCK: system clock selected
      \arg        RCU_CKOUT1SRC_PLLI2SR: PLLI2SR selected
      \arg        RCU_CKOUT1SRC_HXTAL: HXTAL selected
      \arg        RCU_CKOUT1SRC_PLLP: PLLP selected
    \param[in]  ckout1_div: CK_OUT1 divider
      \arg        RCU_CKOUT1_DIVx(x=1,2,3,4,5): CK_OUT1 is divided by x
    \param[out] none
    \retval     none
*/
void rcu_ckout1_config(uint32_t ckout1_src, uint32_t ckout1_div)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the CKOUT1SRC, CKOUT1DIV and set according to ckout1_src and ckout1_div */
    reg &= ~(RCU_CFG0_CKOUT1SEL | RCU_CFG0_CKOUT1DIV);
    RCU_CFG0 = (reg | ckout1_src | ckout1_div);
}

/*!
    \brief      configure the main PLL clock
    \param[in]  pll_src: PLL clock source selection
      \arg        RCU_PLLSRC_IRC16M: select IRC16M as PLL source clock
      \arg        RCU_PLLSRC_HXTAL: select HXTAL as PLL source clock
    \param[in]  pll_psc: the PLL VCO source clock prescaler
      \arg         this parameter should be selected between 2 and 63
    \param[in]  pll_n: the PLL VCO clock multi factor
      \arg        this parameter should be selected between 64 and 500
    \param[in]  pll_p: the PLLP output frequency division factor from PLL VCO clock
      \arg        this parameter should be selected 2,4,6,8
    \param[in]  pll_q: the PLL Q output frequency division factor from PLL VCO clock
      \arg        this parameter should be selected between 2 and 15
    \param[out] none
    \retval     ErrStatus: SUCCESS or ERROR
*/
ErrStatus rcu_pll_config(uint32_t pll_src, uint32_t pll_psc, uint32_t pll_n, uint32_t pll_p, uint32_t pll_q)
{
    uint32_t ss_modulation_inc;
    uint32_t ss_modulation_reg;

    ss_modulation_inc = 0U;
    ss_modulation_reg = RCU_PLLSSCTL;

    /* calculate the minimum factor of PLLN */
    if((ss_modulation_reg & RCU_PLLSSCTL_SSCGON) == RCU_PLLSSCTL_SSCGON){
        if((ss_modulation_reg & RCU_SS_TYPE_DOWN) == RCU_SS_TYPE_DOWN){
            ss_modulation_inc += RCU_SS_MODULATION_DOWN_INC;
        }else{
            ss_modulation_inc += RCU_SS_MODULATION_CENTER_INC;
        }
    }

    /* check the function parameter */
    if(CHECK_PLL_PSC_VALID(pll_psc) && CHECK_PLL_N_VALID(pll_n,ss_modulation_inc) &&
       CHECK_PLL_P_VALID(pll_p) && CHECK_PLL_Q_VALID(pll_q)){
         RCU_PLL = pll_psc | (pll_n << 6) | (((pll_p >> 1) - 1U) << 16) |
                   (pll_src) | (pll_q << 24);
    }else{
        /* return status */
        return ERROR;
    }

    /* return status */
    return SUCCESS;
}

/*!
    \brief      configure the PLLI2S clock
    \param[in]  plli2s_n: the PLLI2S VCO clock multi factor
      \arg        this parameter should be selected between 50 and 500
    \param[in]  plli2s_q: the PLLI2S Q output frequency division factor from PLLI2S VCO clock
      \arg        this parameter should be selected between 2 and 15
    \param[in]  plli2s_r: the PLLI2S R output frequency division factor from PLLI2S VCO clock
      \arg        this parameter should be selected between 2 and 7
    \param[out] none
    \retval     ErrStatus: SUCCESS or ERROR
*/
ErrStatus rcu_plli2s_config(uint32_t plli2s_n, uint32_t plli2s_q, uint32_t plli2s_r)
{
    /* check the function parameter */
    if(CHECK_PLLI2S_N_VALID(plli2s_n) && CHECK_PLLI2S_Q_VALID(plli2s_q) && CHECK_PLLI2S_R_VALID(plli2s_r)){
        RCU_PLLI2S = (plli2s_n << 6) | (plli2s_q << 24) | (plli2s_r << 28);
    }else{
        /* return status */
        return ERROR;
    }

    /* return status */
    return SUCCESS;
}

/*!
    \brief      configure the PLLSAI clock
    \param[in]  pllsai_n: the PLLSAI VCO clock multi factor
      \arg        this parameter should be selected between 50 and 500
    \param[in]  pllsai_p: the PLLSAI P output frequency division factor from PLL VCO clock
      \arg        this parameter should be selected 2,4,6,8
    \param[in]  pllsai_q: the PLLSAI Q output frequency division factor from PLL VCO clock
      \arg        this parameter should be selected between 2 and 15
    \param[in]  pllsai_r: the PLLSAI R output frequency division factor from PLL VCO clock
      \arg        this parameter should be selected between 2 and 7
    \param[out] none
    \retval     ErrStatus: SUCCESS or ERROR
*/
ErrStatus rcu_pllsai_config(uint32_t pllsai_n, uint32_t pllsai_p, uint32_t pllsai_q, uint32_t pllsai_r)
{
    /* check the function parameter */
    if(CHECK_PLLSAI_N_VALID(pllsai_n) && CHECK_PLLSAI_P_VALID(pllsai_p) &&
       CHECK_PLLSAI_Q_VALID(pllsai_q) && CHECK_PLLSAI_R_VALID(pllsai_r)){
        RCU_PLLSAI = (pllsai_n << 6U) | (((pllsai_p >> 1U) - 1U) << 16U) | (pllsai_q << 24U) | (pllsai_r << 28U);
    }else{
        /* return status */
        return ERROR;
    }

    /* return status */
    return SUCCESS;
}

/*!
    \brief      configure the RTC clock source selection
    \param[in]  rtc_clock_source: RTC clock source selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_RTCSRC_NONE: no clock selected
      \arg        RCU_RTCSRC_LXTAL: CK_LXTAL selected as RTC source clock
      \arg        RCU_RTCSRC_IRC32K: CK_IRC32K selected as RTC source clock
      \arg        RCU_RTCSRC_HXTAL_DIV_RTCDIV: CK_HXTAL/RTCDIV selected as RTC source clock
    \param[out] none
    \retval     none
*/
void rcu_rtc_clock_config(uint32_t rtc_clock_source)
{
    uint32_t reg;

    reg = RCU_BDCTL;
    /* reset the RTCSRC bits and set according to rtc_clock_source */
    reg &= ~RCU_BDCTL_RTCSRC;
    RCU_BDCTL = (reg | rtc_clock_source);
}

/*!
    \brief      configure the I2S clock source selection
    \param[in]  i2s_clock_source: I2S clock source selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_I2SSRC_PLLI2S: CK_PLLI2S selected as I2S source clock
      \arg        RCU_I2SSRC_I2S_CKIN: external i2s_ckin pin selected as I2S source clock
    \param[out] none
    \retval     none
*/
void rcu_i2s_clock_config(uint32_t i2s_clock_source)
{
    uint32_t reg;

    reg = RCU_CFG0;
    /* reset the I2SSEL bit and set according to i2s_clock_source */
    reg &= ~RCU_CFG0_I2SSEL;
    RCU_CFG0 = (reg | i2s_clock_source);
}

/*!
    \brief      configure the CK48M clock source selection
    \param[in]  ck48m_clock_source: CK48M clock source selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_CK48MSRC_PLL48M: CK_PLL48M selected as CK48M source clock
      \arg        RCU_CK48MSRC_IRC48M: CK_IRC48M selected as CK48M source clock
    \param[out] none
    \retval     none
*/
void rcu_ck48m_clock_config(uint32_t ck48m_clock_source)
{
    uint32_t reg;

    reg = RCU_ADDCTL;
    /* reset the I2SSEL bit and set according to i2s_clock_source */
    reg &= ~RCU_ADDCTL_CK48MSEL;
    RCU_ADDCTL = (reg | ck48m_clock_source);
}

/*!
    \brief      configure the PLL48M clock source selection
    \param[in]  pll48m_clock_source: PLL48M clock source selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_PLL48MSRC_PLLQ: CK_PLLQ selected as PLL48M source clock
      \arg        RCU_PLL48MSRC_PLLSAIP: CK_PLLSAIP selected as PLL48M source clock
    \param[out] none
    \retval     none
*/
void rcu_pll48m_clock_config(uint32_t pll48m_clock_source)
{
    uint32_t reg;

    reg = RCU_ADDCTL;
    /* reset the PLL48MSEL bit and set according to pll48m_clock_source */
    reg &= ~RCU_ADDCTL_PLL48MSEL;
    RCU_ADDCTL = (reg | pll48m_clock_source);
}

/*!
    \brief      configure the TIMER clock prescaler selection
    \param[in]  timer_clock_prescaler: TIMER clock selection
                only one parameter can be selected which is shown as below:
      \arg        RCU_TIMER_PSC_MUL2: if APB1PSC/APB2PSC in RCU_CFG0 register is 0b0xx(CK_APBx = CK_AHB)
                                      or 0b100(CK_APBx = CK_AHB/2), the TIMER clock is equal to CK_AHB(CK_TIMERx = CK_AHB).
                                      or else, the TIMER clock is twice the corresponding APB clock (TIMER in APB1 domain: CK_TIMERx = 2 x CK_APB1;
                                      TIMER in APB2 domain: CK_TIMERx = 2 x CK_APB2)
      \arg        RCU_TIMER_PSC_MUL4: if APB1PSC/APB2PSC in RCU_CFG0 register is 0b0xx(CK_APBx = CK_AHB),
                                      0b100(CK_APBx = CK_AHB/2), or 0b101(CK_APBx = CK_AHB/4), the TIMER clock is equal to CK_AHB(CK_TIMERx = CK_AHB).
                                      or else, the TIMER clock is four timers the corresponding APB clock (TIMER in APB1 domain: CK_TIMERx = 4 x CK_APB1;
                                      TIMER in APB2 domain: CK_TIMERx = 4 x CK_APB2)
    \param[out] none
    \retval     none
*/
void rcu_timer_clock_prescaler_config(uint32_t timer_clock_prescaler)
{
    /* configure the TIMERSEL bit and select the TIMER clock prescaler */
    if(timer_clock_prescaler == RCU_TIMER_PSC_MUL2){
        RCU_CFG1 &= timer_clock_prescaler;
    }else{
        RCU_CFG1 |= timer_clock_prescaler;
    }
}

/*!
    \brief      configure the PLLSAIR divider used as input of TLI
    \param[in]  pllsai_r_div: PLLSAIR divider used as input of TLI
                only one parameter can be selected which is shown as below:
      \arg        RCU_PLLSAIR_DIVx(x=2,4,8,16): PLLSAIR divided x used as input of TLI
    \param[out] none
    \retval     none
*/
void rcu_tli_clock_div_config(uint32_t pllsai_r_div)
{
    uint32_t reg;

    reg = RCU_CFG1;
    /* reset the PLLSAIRDIV bit and set according to pllsai_r_div */
    reg &= ~RCU_CFG1_PLLSAIRDIV;
    RCU_CFG1 = (reg | pllsai_r_div);
}

/*!
    \brief      get the clock stabilization and periphral reset flags
    \param[in]  flag: the clock stabilization and periphral reset flags, refer to rcu_flag_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_FLAG_IRC16MSTB: IRC16M stabilization flag
      \arg        RCU_FLAG_HXTALSTB: HXTAL stabilization flag
      \arg        RCU_FLAG_PLLSTB: PLL stabilization flag
      \arg        RCU_FLAG_PLLI2SSTB: PLLI2S stabilization flag
      \arg        RCU_FLAG_PLLSAISTB: PLLSAI stabilization flag
      \arg        RCU_FLAG_LXTALSTB: LXTAL stabilization flag
      \arg        RCU_FLAG_IRC32KSTB: IRC32K stabilization flag
      \arg        RCU_FLAG_IRC48MSTB: IRC48M stabilization flag
      \arg        RCU_FLAG_BORRST: BOR reset flags
      \arg        RCU_FLAG_EPRST: external PIN reset flag
      \arg        RCU_FLAG_PORRST: Power reset flag
      \arg        RCU_FLAG_SWRST: software reset flag
      \arg        RCU_FLAG_FWDGTRST: free watchdog timer reset flag
      \arg        RCU_FLAG_WWDGTRST: window watchdog timer reset flag
      \arg        RCU_FLAG_LPRST: low-power reset flag
    \param[out] none
    \retval     none
*/
FlagStatus rcu_flag_get(rcu_flag_enum flag)
{
    /* get the rcu flag */
    if(RESET != (RCU_REG_VAL(flag) & BIT(RCU_BIT_POS(flag)))){
        return SET;
    }else{
        return RESET;
    }
}

/*!
    \brief      clear all the reset flag
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_all_reset_flag_clear(void)
{
    RCU_RSTSCK |= RCU_RSTSCK_RSTFC;
}

/*!
    \brief      get the clock stabilization interrupt and ckm flags
    \param[in]  int_flag: interrupt and ckm flags, refer to rcu_int_flag_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_INT_FLAG_IRC32KSTB: IRC40K stabilization interrupt flag
      \arg        RCU_INT_FLAG_LXTALSTB: LXTAL stabilization interrupt flag
      \arg        RCU_INT_FLAG_IRC8MSTB: IRC8M stabilization interrupt flag
      \arg        RCU_INT_FLAG_HXTALSTB: HXTAL stabilization interrupt flag
      \arg        RCU_INT_FLAG_PLLSTB: PLL stabilization interrupt flag
      \arg        RCU_INT_FLAG_PLLI2SSTB: PLLI2S stabilization interrupt flag
      \arg        RCU_INT_FLAG_PLLSAISTB: PLLSAI stabilization interrupt flag
      \arg        RCU_INT_FLAG_CKM: HXTAL clock stuck interrupt flag
      \arg        RCU_INT_FLAG_IRC48MSTB: IRC48M stabilization interrupt flag
    \param[out] none
    \retval     FlagStatus: SET or RESET
*/
FlagStatus rcu_interrupt_flag_get(rcu_int_flag_enum int_flag)
{
    /* get the rcu interrupt flag */
    if(RESET != (RCU_REG_VAL(int_flag) & BIT(RCU_BIT_POS(int_flag)))){
        return SET;
    }else{
        return RESET;
    }
}

/*!
    \brief      clear the interrupt flags
    \param[in]  int_flag_clear: clock stabilization and stuck interrupt flags clear, refer to rcu_int_flag_clear_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_INT_FLAG_IRC32KSTB_CLR: IRC32K stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_LXTALSTB_CLR: LXTAL stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_IRC16MSTB_CLR: IRC16M stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_HXTALSTB_CLR: HXTAL stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_PLLSTB_CLR: PLL stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_PLLI2SSTB_CLR: PLLI2S stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_PLLSAISTB_CLR: PLLSAI stabilization interrupt flag clear
      \arg        RCU_INT_FLAG_CKM_CLR: clock stuck interrupt flag clear
      \arg        RCU_INT_FLAG_IRC48MSTB_CLR: IRC48M stabilization interrupt flag clear
    \param[out] none
    \retval     none
*/
void rcu_interrupt_flag_clear(rcu_int_flag_clear_enum int_flag_clear)
{
    RCU_REG_VAL(int_flag_clear) |= BIT(RCU_BIT_POS(int_flag_clear));
}

/*!
    \brief      enable the stabilization interrupt
    \param[in]  stab_int: clock stabilization interrupt, refer to rcu_int_enum
                Only one parameter can be selected which is shown as below:
      \arg        RCU_INT_IRC32KSTB: IRC32K stabilization interrupt enable
      \arg        RCU_INT_LXTALSTB: LXTAL stabilization interrupt enable
      \arg        RCU_INT_IRC16MSTB: IRC16M stabilization interrupt enable
      \arg        RCU_INT_HXTALSTB: HXTAL stabilization interrupt enable
      \arg        RCU_INT_PLLSTB: PLL stabilization interrupt enable
      \arg        RCU_INT_PLLI2SSTB: PLLI2S stabilization interrupt enable
      \arg        RCU_INT_PLLSAISTB: PLLSAI stabilization interrupt enable
      \arg        RCU_INT_IRC48MSTB: IRC48M stabilization interrupt enable
    \param[out] none
    \retval     none
*/
void rcu_interrupt_enable(rcu_int_enum stab_int)
{
    RCU_REG_VAL(stab_int) |= BIT(RCU_BIT_POS(stab_int));
}

/*!
    \brief      disable the stabilization interrupt
    \param[in]  stab_int: clock stabilization interrupt, refer to rcu_int_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_INT_IRC32KSTB: IRC32K stabilization interrupt disable
      \arg        RCU_INT_LXTALSTB: LXTAL stabilization interrupt disable
      \arg        RCU_INT_IRC16MSTB: IRC16M stabilization interrupt disable
      \arg        RCU_INT_HXTALSTB: HXTAL stabilization interrupt disable
      \arg        RCU_INT_PLLSTB: PLL stabilization interrupt disable
      \arg        RCU_INT_PLLI2SSTB: PLLI2S stabilization interrupt disable
      \arg        RCU_INT_PLLSAISTB: PLLSAI stabilization interrupt disable
      \arg        RCU_INT_IRC48MSTB: IRC48M stabilization interrupt disable
    \param[out] none
    \retval     none
*/
void rcu_interrupt_disable(rcu_int_enum stab_int)
{
    RCU_REG_VAL(stab_int) &= ~BIT(RCU_BIT_POS(stab_int));
}

/*!
    \brief      configure the LXTAL drive capability
    \param[in]  lxtal_dricap: drive capability of LXTAL
                only one parameter can be selected which is shown as below:
      \arg        RCU_LXTALDRI_LOWER_DRIVE: lower driving capability
      \arg        RCU_LXTALDRI_HIGHER_DRIVE: higher driving capability
    \param[out] none
    \retval     none
*/
void rcu_lxtal_drive_capability_config(uint32_t lxtal_dricap)
{
    uint32_t reg;

    reg = RCU_BDCTL;

    /* reset the LXTALDRI bits and set according to lxtal_dricap */
    reg &= ~RCU_BDCTL_LXTALDRI;
    RCU_BDCTL = (reg | lxtal_dricap);
}

/*!
    \brief      wait for oscillator stabilization flags is SET or oscillator startup is timeout
    \param[in]  osci: oscillator types, refer to rcu_osci_type_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_HXTAL: HXTAL
      \arg        RCU_LXTAL: LXTAL
      \arg        RCU_IRC16M: IRC16M
      \arg        RCU_IRC48M: IRC48M
      \arg        RCU_IRC32K: IRC32K
      \arg        RCU_PLL_CK: PLL
      \arg        RCU_PLLI2S_CK: PLLI2S
      \arg        RCU_PLLSAI_CK: PLLSAI
    \param[out] none
    \retval     ErrStatus: SUCCESS or ERROR
*/
ErrStatus rcu_osci_stab_wait(rcu_osci_type_enum osci)
{
    uint32_t stb_cnt = 0U;
    ErrStatus reval = ERROR;
    FlagStatus osci_stat = RESET;

    switch(osci){
    /* wait HXTAL stable */
    case RCU_HXTAL:
        while((RESET == osci_stat) && (HXTAL_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_HXTALSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_HXTALSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait LXTAL stable */
    case RCU_LXTAL:
        while((RESET == osci_stat) && (LXTAL_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_LXTALSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_LXTALSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait IRC16M stable */
    case RCU_IRC16M:
        while((RESET == osci_stat) && (IRC16M_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_IRC16MSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_IRC16MSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait IRC48M stable */
    case RCU_IRC48M:
        while((RESET == osci_stat) && (OSC_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_IRC48MSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if (RESET != rcu_flag_get(RCU_FLAG_IRC48MSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait IRC32K stable */
    case RCU_IRC32K:
        while((RESET == osci_stat) && (OSC_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_IRC32KSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_IRC32KSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait PLL stable */
    case RCU_PLL_CK:
        while((RESET == osci_stat) && (OSC_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_PLLSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_PLLSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait PLLI2S stable */
    case RCU_PLLI2S_CK:
        while((RESET == osci_stat) && (OSC_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_PLLI2SSTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_PLLI2SSTB)){
            reval = SUCCESS;
        }
        break;
    /* wait PLLSAI stable */
    case RCU_PLLSAI_CK:
        while((RESET == osci_stat) && (OSC_STARTUP_TIMEOUT != stb_cnt)){
            osci_stat = rcu_flag_get(RCU_FLAG_PLLSAISTB);
            stb_cnt++;
        }

        /* check whether flag is set */
        if(RESET != rcu_flag_get(RCU_FLAG_PLLSAISTB)){
            reval = SUCCESS;
        }
        break;

    default:
        break;
    }

    /* return value */
    return reval;
}

/*!
    \brief      turn on the oscillator
    \param[in]  osci: oscillator types, refer to rcu_osci_type_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_HXTAL: HXTAL
      \arg        RCU_LXTAL: LXTAL
      \arg        RCU_IRC16M: IRC16M
      \arg        RCU_IRC48M: IRC48M
      \arg        RCU_IRC32K: IRC32K
      \arg        RCU_PLL_CK: PLL
      \arg        RCU_PLLI2S_CK: PLLI2S
      \arg        RCU_PLLSAI_CK: PLLSAI
    \param[out] none
    \retval     none
*/
void rcu_osci_on(rcu_osci_type_enum osci)
{
    RCU_REG_VAL(osci) |= BIT(RCU_BIT_POS(osci));
}

/*!
    \brief      turn off the oscillator
    \param[in]  osci: oscillator types, refer to rcu_osci_type_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_HXTAL: HXTAL
      \arg        RCU_LXTAL: LXTAL
      \arg        RCU_IRC16M: IRC16M
      \arg        RCU_IRC48M: IRC48M
      \arg        RCU_IRC32K: IRC32K
      \arg        RCU_PLL_CK: PLL
      \arg        RCU_PLLI2S_CK: PLLI2S
      \arg        RCU_PLLSAI_CK: PLLSAI
    \param[out] none
    \retval     none
*/
void rcu_osci_off(rcu_osci_type_enum osci)
{
    RCU_REG_VAL(osci) &= ~BIT(RCU_BIT_POS(osci));
}

/*!
    \brief      enable the oscillator bypass mode, HXTALEN or LXTALEN must be reset before it
    \param[in]  osci: oscillator types, refer to rcu_osci_type_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_HXTAL: HXTAL
      \arg        RCU_LXTAL: LXTAL
    \param[out] none
    \retval     none
*/
void rcu_osci_bypass_mode_enable(rcu_osci_type_enum osci)
{
    uint32_t reg;

    switch(osci){
    /* enable HXTAL to bypass mode */
    case RCU_HXTAL:
        reg = RCU_CTL;
        RCU_CTL &= ~RCU_CTL_HXTALEN;
        RCU_CTL = (reg | RCU_CTL_HXTALBPS);
        break;
    /* enable LXTAL to bypass mode */
    case RCU_LXTAL:
        reg = RCU_BDCTL;
        RCU_BDCTL &= ~RCU_BDCTL_LXTALEN;
        RCU_BDCTL = (reg | RCU_BDCTL_LXTALBPS);
        break;
    case RCU_IRC16M:
    case RCU_IRC48M:
    case RCU_IRC32K:
    case RCU_PLL_CK:
    case RCU_PLLI2S_CK:
    case RCU_PLLSAI_CK:
        break;
    default:
        break;
    }
}

/*!
    \brief      disable the oscillator bypass mode, HXTALEN or LXTALEN must be reset before it
    \param[in]  osci: oscillator types, refer to rcu_osci_type_enum
                only one parameter can be selected which is shown as below:
      \arg        RCU_HXTAL: HXTAL
      \arg        RCU_LXTAL: LXTAL
    \param[out] none
    \retval     none
*/
void rcu_osci_bypass_mode_disable(rcu_osci_type_enum osci)
{
    uint32_t reg;

    switch(osci){
    /* disable HXTAL to bypass mode */
    case RCU_HXTAL:
        reg = RCU_CTL;
        RCU_CTL &= ~RCU_CTL_HXTALEN;
        RCU_CTL = (reg & ~RCU_CTL_HXTALBPS);
        break;
    /* disable LXTAL to bypass mode */
    case RCU_LXTAL:
        reg = RCU_BDCTL;
        RCU_BDCTL &= ~RCU_BDCTL_LXTALEN;
        RCU_BDCTL = (reg & ~RCU_BDCTL_LXTALBPS);
        break;
    case RCU_IRC16M:
    case RCU_IRC48M:
    case RCU_IRC32K:
    case RCU_PLL_CK:
    case RCU_PLLI2S_CK:
    case RCU_PLLSAI_CK:
        break;
    default:
        break;
    }
}

/*!
    \brief      enable the HXTAL clock monitor
    \param[in]  none
    \param[out] none
    \retval     none
*/

void rcu_hxtal_clock_monitor_enable(void)
{
    RCU_CTL |= RCU_CTL_CKMEN;
}

/*!
    \brief      disable the HXTAL clock monitor
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_hxtal_clock_monitor_disable(void)
{
    RCU_CTL &= ~RCU_CTL_CKMEN;
}

/*!
    \brief      set the IRC16M adjust value
    \param[in]  irc16m_adjval: IRC16M adjust value, must be between 0 and 0x1F
    \param[out] none
    \retval     none
*/
void rcu_irc16m_adjust_value_set(uint32_t irc16m_adjval)
{
    uint32_t reg;

    reg = RCU_CTL;
    /* reset the IRC16MADJ bits and set according to irc16m_adjval */
    reg &= ~RCU_CTL_IRC16MADJ;
    RCU_CTL = (reg | ((irc16m_adjval & 0x1FU) << 3));
}

/*!
    \brief      unlock the voltage key
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_voltage_key_unlock(void)
{
    RCU_VKEY = RCU_VKEY_UNLOCK;
}

/*!
    \brief      deep-sleep mode voltage select
    \param[in]  dsvol: deep sleep mode voltage
                only one parameter can be selected which is shown as below:
      \arg        RCU_DEEPSLEEP_V_1_2: the core voltage is 1.2V
      \arg        RCU_DEEPSLEEP_V_1_1: the core voltage is 1.1V
      \arg        RCU_DEEPSLEEP_V_1_0: the core voltage is 1.0V
      \arg        RCU_DEEPSLEEP_V_0_9: the core voltage is 0.9V
    \param[out] none
    \retval     none
*/
void rcu_deepsleep_voltage_set(uint32_t dsvol)
{
    dsvol &= RCU_DSV_DSLPVS;
    RCU_DSV = dsvol;
}

/*!
    \brief      configure the spread spectrum modulation for the main PLL clock
    \param[in]  spread_spectrum_type: PLL spread spectrum modulation type select
      \arg        RCU_SS_TYPE_CENTER: center spread type is selected
      \arg        RCU_SS_TYPE_DOWN: down spread type is selected
    \param[in]  modstep: configure PLL spread spectrum modulation profile amplitude and frequency
      \arg        This parameter should be selected between 0 and 7FFF.The following criteria must be met: MODSTEP*MODCNT=215-1
    \param[in]  modcnt: configure PLL spread spectrum modulation profile amplitude and frequency
      \arg        This parameter should be selected between 0 and 1FFF.The following criteria must be met: MODSTEP*MODCNT=215-1
    \param[out] none
    \retval     none
*/
void rcu_spread_spectrum_config(uint32_t spread_spectrum_type, uint32_t modstep, uint32_t modcnt)
{
    uint32_t reg;

    reg = RCU_PLLSSCTL;
    /* reset the RCU_PLLSSCTL register bits */
    reg &= ~(RCU_PLLSSCTL_MODCNT | RCU_PLLSSCTL_MODSTEP | RCU_PLLSSCTL_SS_TYPE);
    RCU_PLLSSCTL = (reg | spread_spectrum_type | modstep << 13 | modcnt);
}

/*!
    \brief      enable the PLL spread spectrum modulation
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_spread_spectrum_enable(void)
{
    RCU_PLLSSCTL |= RCU_PLLSSCTL_SSCGON;
}

/*!
    \brief      disable the PLL spread spectrum modulation
    \param[in]  none
    \param[out] none
    \retval     none
*/
void rcu_spread_spectrum_disable(void)
{
    RCU_PLLSSCTL &= ~RCU_PLLSSCTL_SSCGON;
}

/*!
    \brief      get the system clock, bus and peripheral clock frequency
    \param[in]  clock: the clock frequency which to get
                only one parameter can be selected which is shown as below:
      \arg        CK_SYS: system clock frequency
      \arg        CK_AHB: AHB clock frequency
      \arg        CK_APB1: APB1 clock frequency
      \arg        CK_APB2: APB2 clock frequency
    \param[out] none
    \retval     clock frequency of system, AHB, APB1, APB2
*/
uint32_t rcu_clock_freq_get(rcu_clock_freq_enum clock)
{
    uint32_t sws, ck_freq = 0U;
    uint32_t cksys_freq, ahb_freq, apb1_freq, apb2_freq;
    uint32_t pllpsc, plln, pllsel, pllp, ck_src, idx, clk_exp;

    /* exponent of AHB, APB1 and APB2 clock divider */
    const uint8_t ahb_exp[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
    const uint8_t apb1_exp[8] = {0, 0, 0, 0, 1, 2, 3, 4};
    const uint8_t apb2_exp[8] = {0, 0, 0, 0, 1, 2, 3, 4};

    sws = GET_BITS(RCU_CFG0, 2, 3);
    switch(sws){
    /* IRC16M is selected as CK_SYS */
    case SEL_IRC16M:
        cksys_freq = IRC16M_VALUE;
        break;
    /* HXTAL is selected as CK_SYS */
    case SEL_HXTAL:
        cksys_freq = HXTAL_VALUE;
        break;
    /* PLLP is selected as CK_SYS */
    case SEL_PLLP:
        /* get the value of PLLPSC[5:0] */
        pllpsc = GET_BITS(RCU_PLL, 0U, 5U);
        plln = GET_BITS(RCU_PLL, 6U, 14U);
        pllp = (GET_BITS(RCU_PLL, 16U, 17U) + 1U) * 2U;
        /* PLL clock source selection, HXTAL or IRC8M/2 */
        pllsel = (RCU_PLL & RCU_PLL_PLLSEL);
        if (RCU_PLLSRC_HXTAL == pllsel) {
            ck_src = HXTAL_VALUE;
        } else {
            ck_src = IRC16M_VALUE;
        }
        cksys_freq = ((ck_src / pllpsc) * plln)/pllp;
        break;
    /* IRC16M is selected as CK_SYS */
    default:
        cksys_freq = IRC16M_VALUE;
        break;
    }
    /* calculate AHB clock frequency */
    idx = GET_BITS(RCU_CFG0, 4, 7);
    clk_exp = ahb_exp[idx];
    ahb_freq = cksys_freq >> clk_exp;

    /* calculate APB1 clock frequency */
    idx = GET_BITS(RCU_CFG0, 10, 12);
    clk_exp = apb1_exp[idx];
    apb1_freq = ahb_freq >> clk_exp;

    /* calculate APB2 clock frequency */
    idx = GET_BITS(RCU_CFG0, 13, 15);
    clk_exp = apb2_exp[idx];
    apb2_freq = ahb_freq >> clk_exp;

    /* return the clocks frequency */
    switch(clock){
    case CK_SYS:
        ck_freq = cksys_freq;
        break;
    case CK_AHB:
        ck_freq = ahb_freq;
        break;
    case CK_APB1:
        ck_freq = apb1_freq;
        break;
    case CK_APB2:
        ck_freq = apb2_freq;
        break;
    default:
        break;
    }
    return ck_freq;
}


UNITED KINGDOM - Import: 483,700 Import/World=4.71%. Import/GDP= 48.37.
UNITED KINGDOM - Export: 372,700 Export/World=3.61%.
UNITED KINGDOM Agreements: United Nations, United Nations Conference on Trade and Development, World Bank WB.
Europe United Kingdom ((of the) United Kingdom; (of the) United Kingdom (of Great Britain and Northern Ireland); British). London, Plymouth, Dundee, Glasgow, Dover, Birmingham, Manchester, Liverpool, Cardiff, Bristol. Language: English (en). Currency: pound sterling ( or stg). ISO = UK ISO3 = GBR.


"Hoot" is a film about three middle school children who try to save a burrowing owl habitat from being bulldozed by a developer who intends to turn the site into a pancake house. The children successfully protect the owl habitat, making this a great movie to prove the point that children can make a difference. Jimmy Buffet fans will be pleased to learn that he composed the soundtrack for "Hoot."


text:
Economy grew by 5.5% last year – CSO
The country's gross domestic product grew by 5.5% in 2019, likely making it the European Union's fastest-growing economy again, new figures from the Central Statistics Office show today.
The pace of growth was lower that the 6.3% predicted by the Finance Department as the country braces for the impact of the coronavirus outbreak.
GDP, which in recent years has become an incredibly volatile way of measuring Ireland's open economy, expanded by 1.8% on a quarterly basis from October to December, the CSO figures showed today.
Greater Brexit clarity convinced Ireland to nudge up its GDP growth forecasts for 2019, 2020 and 2021 in January.
But Finance Minister Paschal Donohoe said this week that the country's highly integrated economy will inevitably be impacted by the expected global slowdown related to coronavirus.
Mr Donohoe said it was too early to predict the extent to which growth would be impacted but that weaker global growth will affect the country's short-term outlook.
The economy is forecast to grow by 3.9% this year.
"Early indications suggest solid growth in the first quarter this year," Paschal Donohoe said in a statement today, pointing to strong data on employment, tax collection, retail sales and from purchasing managers' indexes.
"Of course, we are now heading into a precarious trading environment as a result of the spread of coronavirus," he said.
"While primarily a public health and well-being issue, the economic impacts have the potential to be significant," he added.
The CSO noted that almost all sectors of the economy recorded growth last year.
Across the larger sectors, industry grew by 4% in volume terms while the information and communication sector grew by 18.5%.
In the domestically driven sectors, construction recorded growth of 5.8% during the year while distribution, transport, hotels and restaurants grew by 1.7%.
The agriculture, forestry and fishing sector saw growth of 24.3% in the year, the CSO added.
Today's figures show that capital Investment, driven by Intellectual Property Products, rose by €69.8 billion during 2019.
Personal Consumption Expenditure, which accounts for almost 38% of domestic demand, increased by 2.8% compared with the previous year.
Government expenditure also increased by 5.6% over the same period.
The CSO said that exports grew 11.1% during the year while imports increased by 35.6%.
The volitile nature of Irish GDP is due to the large cluster of multinational companies operating here, and the relevance of the headline figure has, as such, diminished over the past years.
While such distortions have inflated growth to 8.2% in 2018 and 8.1% in 2017, a range of other more stable data points to very strong growth in the real economy throughout the period.
Unemployment has fallen to 4.8% from a peak of 16% in 2012, when the country was midway through an international bailout following an economic crash a decade ago.
The CSO has phased in new measures which strip out some of the distorting globalised activities. One such measure, modified domestic demand, expanded by 3% last year.


Strat & Mouse Ready to "Turn You On"
On Wednesday, San Diego's dynamic music duo Strat & Mouse released a new edit of their music video "Turn You On."
Strat & Mouse will be strutting onstage at SoundDiego LIVE at U-31 on Friday (get on the guest list here while you still can), and to help kick off the event, dropped a splashy update of their video, featuring live-show footage taken when the pair toured with Jane's Addiction.
"Let me hear the bass kick and drop/'Cause I know it, I know it, I throb," purrs Strat's partner, Mouse, at the start of "Turn You On," clarifying a bit later, "I'm more than just the sound that I hear."
Just the right notes to hit for our Friday event.
Strat & Mouse, featuring Bryan Stratman (formerly of Hyena), will be strutting onstage at SoundDiego LIVE at U-31 on Friday (get on the guest list here while you still can).
Strat & Mouse will be strutting onstage at SoundDiego LIVE at U-31 on Friday (get on the guest list here while you still can), and to help kick off the event, dropped a flashy update of their video, featuring live-show footage taken when the pair toured with Jane's Addiction.
"Let me hear the bass kick and drop," purrs Strat's partner, Mouse, at the start of "Turn You on, adding, "'Cause I know it, I know it, I throb" -- memorable high notes we'll be kicking off Friday's free party with.
"Strat," of course, is the musical mastermind Bryan Stratman, who runs downtown's Capricorn Studios and is one-half of one of our favorite SoundDiego LIVE acts ever, the electronic-infused Hyena, who blew the roof off of Firehouse in Pacific Beach five years back.
SoundDiego LIVE emcee-- and 91x on-air personality -- Tim Pyles is looking forward to finally seeing the band live.
"Here's your chance to witness the mesmerizing vocals and moves of Mouse with Strat manning the melody machines," Pyles said.
Strat & Mouse are sharing a bill with Bang Pow, the electronic-music phoenix from the reggae-band ashes helmed by longtime local-music fixture Tommy Dubbs.Closing out the night will be a house party hosted by San Diego standout DJ Ayla Simone.
SoundDiego LIVE emcee -- and 91x on-air personality -- Tim Pyles is looking forward to finally seeing the band live: "Here's your chance to witness the mesmerizing vocals and moves of Mouse with Strat manning the melody machines."


text:
Q: asp.net web service which will consume by android I want to create simple android application for CRUD operation. I have sucessfully create this application using PHP and Mysql. but now I want to use asp.net.This is simple webservice
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

[WebService(Namespace = "http://localhost/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]

public class Service : System.Web.Services.WebService
{
public Service () {

    //Uncomment the following line if using designed components
    //InitializeComponent();
}

[WebMethod]
public string HelloWorld() {
    return "Hello World 124";
}

when i try to run this url it gives me error.
http://localhost:3541/WebSite3/Service.asmx/HelloWorld

Request format is unrecognized for URL unexpectedly ending in '/HelloWorld'.
I don't know much about .net. so what I am doning wrong?
what i have to do to run this ???
thanks in advance

A: This is not a restful webservice so you cannot invoke the methods like that. This is a soap service.
Just invoke this url then it will let you to select your method:
http://localhost:3541/WebSite3/Service.asmx
Then in your android application you can consume it by using ksoap2-android library.
It is not ideal to consume soap services in android. I think you should look at the restful services.