Hello, and welcome to this presentation of the STM32H7 flexible static memory controller. It covers all the features of this interface, which is used to connect external memories such as NOR Flash, NAND Flash, SRAM, PSRAM, and SDRAM. The FSMC controller integrated in STM32H7 products provides external memory support through three memory controllers, the NOR Flash PSRAM controller, the SDRAM controller, and the NAND memory controller. This enables the CPU to communicate with external memories, including NOR and NAND Flash memories, PSRAM, SRAM, and SDRAM. This interface is fully configurable, allowing easy connection with external memories or other parallel interfaces. The benefits of the FMC controller include not only RAM and flash memory space extension, but also the ability to interface seamlessly with most LCD controllers, which support Intel 8080 and Motorola 6800 modes. This LCD parallel interface capacity makes it easy to build cost-effective graphic applications using LCD modules containing embedded controllers or high-performance solutions using external controllers with dedicated acceleration. The FMC controller offers four independent banks to support separate external memories. Each bank has an independent chip select and an independent configuration. Each bank features programmable timings, a configurable 8, 16, or 32-bit data bus, and can access memory in asynchronous or burst mode for synchronous memory, such as NOR flash and PSRAM. Synchronous memory can be accessed at a maximum frequency of HCLK divided by 2. The FMC controller supports a wide variety of devices and memories. It interfaces with static memory mapped, including static random access memory or SRAM, read-only memory or ROM, NOR or one NAND flash memory, and PSRAM. The FMC also interfaces with NAND flash memories and supports error code correction or ECC for up to 8 bytes of data read or written. Three interrupt sources can be configured to generate an interrupt when a rising edge, falling edge, or high level is detected on the NAND flash-ready busy signal. It also interfaces with synchronous DRAM or SDRAM memories. Furthermore, the FMC interfaces with parallel LCD modules, supporting the Intel 8080 and Motorola 6800 modes, and is flexible enough to adapt to various LCD interfaces. The external memory space is divided into fixed-size banks of 256 megabytes each. Four external memory banks are dedicated to the FSMC. Bank 1 is connected to the NOR PSRAM controller. Bank 3 is connected to the NAND controller, and banks 5 and 6 are connected to SDRAM. Bank 2 is used for SDRAM bank remap, and Bank 4 is reserved. The mapping of the FMC bank addresses can be modified using the BMAP 1 to 0 bits in the FMC BCR1 register. Three different mappings can be configured. The default mapping, a second mapping, enabling the swap of the NOR PSRAM bank with the SDRAM bank 1 and a third one remapping the SDRAM bank 2, thus allowing access to the same SDRAM bank at two different address ranges. Bank 1 is used to address up to four NOR flash memories or PSRAM devices. This bank is split into four NOR or PSRAM sub-banks of 64 megabytes each with four dedicated chip selects to interface with. Eight or 16-bit synchronous or asynchronous NOR flash in multiplexed or non-multiplexed mode. Eight or 16-bit asynchronous SRAM and ROM. And eight or 16-bit synchronous or asynchronous PSRAM memories. The FMC outputs a unique chip select signal to each bank and performs only one access at a time to an external device. The external memories are connected either to the NOR PSRAM controller or the NAND controller and share address, data, and control signals. The NOR PSRAM controller allows the configuration of various timing parameters for the supported memories. Address setup phase, duration of the first access phase. Address hold phase, duration of the middle phase of the access cycle. Data setup phase, duration of the second access phase. Bus turnaround phase, duration of the bus turnaround phase. Clock divide ratio, number of AHB clock cycles or HCLK within one memory clock cycle or CLK. And data latency, number of clock cycles to be issued to the memory before the first data transfer access mode. Bank 3 is used to interface with the NAND flash memory. It is divided into two memory spaces. Common memory space and attribute memory space. Both spaces are similar. The common memory space is for all NAND flash read and write accesses, except when writing the last address byte to the NAND flash device, where the CPU must write to the attribute memory space. This allows you to implement the pre-weight functionality needed by certain NAND flash memories by writing the last address byte with different timings. Each memory space is subdivided into three sections. Data section, 64 kilobytes, used to read or write data from NAND flash memory. Command section, 64 kilobytes, used to send a command to NAND flash memory. And address section, 128 kilobytes, used to specify the NAND flash memory address. The FMC generates the appropriate signals to drive NAND flash memory. The address, data, and control signals are shared with the NOR-PSRAM controller. The command latch enable or CLE and address latch enable or ALE signals of the NAND flash memory device are driven by address signals from the FNC controller connected to address line 16 and address line 17 respectively. The ALE is active when writing to the address section and the CLE is active when writing to the command section. The FMC NAND memory controller includes support for the following features. Error code correction. The ECC algorithm can perform one-bit error correction and two-bit error detection per 256 to 8,192 bytes read or written from or to the NAND flash memory. It is based on the Hamming coding algorithm. Three interrupt sources can be enabled to detect a rising edge, falling edge, or level on ready or busy signal output from NAND flash memory. Weight feature management. The controller waits for the NAND flash memory to be ready before starting a new access. The MPU memory attribute of the FMC NAND bank must be configured as a device. Each common and attribute memory space can be configured with different timings for the NAND flash's command, address write, and data read write accesses. The attribute memory space is used for the last address write access if the timing must differ from that of previous accesses in case of ready busy management. Otherwise, only common space is needed. Four parameters are used to define the number of HCLK cycles for the different phases of any NAND flash access. Setup time, wait time, hold time, and data bus high Z time. The NAND controller offers three interrupt sources, rising edge, falling edge, and high level detection on the FSMC INT pin when it is connected to the ready busy signal from the NAND flash memory. Banks five and six are used to interface with SD RAM memory. Each bank can address up to 256 megabytes of memory. The two banks can be used to interface with two SD RAM devices. The FMC generates the appropriate signals to drive SD RAM memory. The address and data are shared with the NOR PS RAM controller. The bank address signals FMC BA0 and FMC BA1 are shared with FMC A14 and FMC 815 respectively. The SD RAM controller has dedicated signals. SD CLK, SD RAM Clock, SD CKE0, SD RAM Bank 1 Clock Enable, SD CKE1, SD RAM Bank 2 Clock Enable, SD NE0, SD RAM Bank 1 Chip Enable, SD NE1, SD RAM Bank 2 Chip Enable. NRAS, row address strobe, NCAS, column address strobe, and SDN WEN, write enable. The FMC controller offers two independent SD RAM banks to support separate external memories. Each bank has an independent chip select and an independent configuration. Each SD RAM bank can support memory devices with up to four internal banks. The device size is programmable with up to 13 bits for address row and up to 11 bits for address column. SD RAM can be addressed at maximum frequency of HCLK divided by 2. Each bank features programmable timings and a configurable 8, 16, or 32-bit data bus. Multibank ping pong access allows us to perform consecutive write accesses to different banks. Consequently, it avoids bank pre-charge and row activation when the row is already activated in the accessed bank. The SD RAM controller adds a cacheable read-fifo with a depth of 632-bit lines. The read-fifo is used when the read burst is enabled and allows us to anticipate the next read accesses during CAS latencies. For energy saving, the SD RAM controller can be configured in one of two low-power modes, self-refresh or power-down mode. When in self-refresh mode, the SD RAM retains data without external clocking. The device can remain in self-refresh mode as long as requested by the application. The device exits self-refresh mode when an SD RAM device is selected, read-write operation requested, or when mode bits are set to 0000, normal mode. The device cannot remain in the power-down state longer than the refresh period because no refresh operations are performed in this mode. Consequently, the SD RAM controller carries out the refresh operation. The device exits power-down mode when mode bits are set to 0000, normal mode. The SD RAM controller can issue different commands to the SD RAM devices. The commands are issued by software to initialize the SD RAM device or to switch the device mode. The commands can be delivered to the two banks simultaneously using configure target bank bits CTB1 and CTB2 in the FMC SDCMR register. The table shows the supported commands. This slide presents the SD RAM initialization procedure to implement in firmware. The FMC is active in run and sleep modes. An FMC interrupt can cause the device to exit sleep mode. The device is not able to perform any communication in stop and standby modes. It is important to ensure that all transmissions are completed before the FMC controller is disabled or the domain or system is switched down to stop or standby modes. To retain external SD RAM memory data while in stop or standby modes, it can be put in the self-refresh mode prior to entering stop or standby modes. Graphic applications require low power management together with a high-quality user interface. This can be achieved using the STM32H7 to connect the display thanks to the LCD TFT controller. In addition, the FMC or Quad SPI interface may be used to access an external flash memory containing all of the graphical content needed such as background images, high-resolution icons or fonts to support multiple languages. The internal RAM can be extended thanks to the FMC by connecting an SD RAM memory used as a frame buffer for the LTDC controller. Additional audio data for ring tones can also benefit from the large space offered by the external flash memory. Here is a list of peripherals related to the FMC interface. Users should be familiar with all the relationships between these peripherals to correctly configure and use the FMC controller.


Welcome back to Tennis Talk, my name's Cam Williams and more players have contracted COVID-19 after playing the Abu Dhabi exhibition event only a couple of weeks ago. We have a lot of players from that event, almost half the field have actually got COVID. Let's go check the list. So from the exhibition event that happened only a couple of weeks ago, Edmund Radekhanu. She actually was the first one to get COVID and had to withdraw before the event and was replaced later by Anstrabour. We'll talk about her in a second. Then Rafa Nadal, he went back to Spain after getting COVID-19. So it's really thrown in his preparation for the Australian Open into chaos. Belinda Benchich, she also got COVID-19 from playing at the Abu Dhabi event. Anstrabour, who actually came in for Radekhanu and replaced her, also got COVID over the last couple of days. And Dennis Shapovalov, who actually played against Rafa on the final day of the event. He has just landed in Sydney to play the HB Cup in the Australian Open and he has now got COVID-19 as well. So five of the players that played that event or that were supposed to play that event all got COVID-19. So they have it. They're the players that tested positive for COVID-19 after playing the Abu Dhabi event. And it's a little concerning because we had Shapo playing Nadal on the final day of the event. Both of them got COVID and Benchich and Jabal, they also played together at the event and against each other at the event and they both got COVID and it makes up about half the field as well because we had players like Taylor Fritz. We had Dan Evans, Andy Murray, Andre Rublev all play the event as well. So half the field got COVID, which is very concerning. And it's turning into a bit of a hotspot. Let me know down in the comments below. How many of these players do you think were actually playing the Australian Open? We know Shapovalov is definitely playing the Australian Open because he landed in Sydney yesterday. Rafa went back to Spain. There's a little bit concerning there. And I think Radekhanu right now is in Abu Dhabi. The Abu Dhabi events becoming a bit of a hotspot for COVID cases, especially amongst the biggest players in the world.


Just too much acting. Hi folks! Are you all flowing now? Can you all flow? Can you twirl there? Try it out. It's an important field. Yeah, this one. It's okay. It's that long that it sticks again. Alright, so... your last little seminar of the day is that we're going to talk about negative strategy and basics of being negative. And so we'll start off with the most basic thing that negative has to do, which is if affirmative, the most basic thing that they have to do is have the burden of proof that negative has the burden of reputation. So once affirmative has gotten up here and met those stock issues, they've done their shitsa, then we're now... they've met their burden of proof. So we're now going to accept the debate. So let me just kind of step back for a second. So this would never happen, but imagine you went into a debate round and affirmative got up and said nothing. And then negative got up and said nothing. And that was the whole round. And at the end of the round, the judge still has to decide who wins. So affirmative never said a word, negative never said a word. Who wins the debate? There are no ties in debate. It's like baseball, it's awesome. You cannot tie.  So if no one says anything, then negative wins. Why? Affirmative didn't do what? They didn't meet their burden of proof. Affirmative did not meet their burden of proof, so negative wins. Negative has another vocabulary word that we use sometimes as presumption. We presume that before the debate ever starts, before anything, as ever said, negative is winning. Because, again, we're scared and lazy, and so our first instinct is do nothing. And if we just continue to decide do nothing, do nothing, do nothing, negative wins. Affirmative is saying do something, do something, do something. Now, on the other hand, affirmative gets up here and they meet their stock issues. And they say, you know, we're lonely, we're worried about security, and we are going to go get a dog and that's going to solve our loneliness and security. And we're going to have better mental health as a result of it. They did all that. They gave all of their stock issues. And now negative gets up and they say nothing. And then the debate ends. Who wins the debate? Affirmative. Because negative now has not met their burden. And their burden is reputation. They have to respond to what affirmative said. And at least create enough doubt with you that we should not do what affirmative said or we should do something else or doing what affirmative said is going to lead to so many bad things that it's not worth doing it. Affirmative, basic burden, burden of proof. Negative, burden of reputation. So then how do you do reputation? Well, I've given you, again, a lot more vocabulary that I will try to simplify for you. But there are some basic things. And we already, at the end of my last lecture, we said that the most basic thing that the negative can do is create a disadvantage. Bad things have happened as a result of the plan. Other things that they can do that we may or may not get to as much, but we'll definitely talk about disadvantages is case-attached. So they can just go directly after what the affirmative said and try to get rid of those harms or get rid of solvency or get rid of advantages. So we can go after the affirmative case. Another thing negative can do is they can offer a counterplan which are tricky but sometimes a great idea. With a counterplan, you're saying there is something wrong. Yes, we need to do something better than what affirmative is doing. Yes, I agree. We're not going to stick to the status quo. We're not just going to say do nothing. We're going to do something but I have a much better thing to do than affirmative says. And then the last thing is topicality which is where you can say, look, what affirmative says they're doing in their case actually doesn't support the resolution itself. So maybe this resolution says let's get the dog and we're going to get a stuffed animal and so you say like look, that's not really a dog. That's not topical. It doesn't actually fit the topic that we're talking about. So you should vote for a case that doesn't fit the topic and that's basically what topicality means. But we'll start at least with disadvantages. We're sticking with the same example that we did this morning. So you remember our case that we're getting a dog and now you're on the other side. You are negative.  So I would like you to the best of your ability and let me kind of walk you through these sub points to create a disadvantage. At least one disadvantage and then we'll share them as a group. So a tagline is just what do we call this disadvantage? That's a terrible tag. Usually the claim, the opinion that you're trying to prove true and it's a good idea if it's catchy because there are going to be lots of arguments eventually in this debate, especially as you move further in your debate career. So if we have a catchy name for each argument then we'll be able to remember what it was and keep organized. It'll make your flow better because you'll know what that argument is. The next step is uniqueness. And though that may sound like a term it's just what was happening before the plan. Tell me the story of the status quo. Before there was ever a plan and usually the disadvantage of uniqueness is there was something good.  Then we have a link and the link is the plan changed something. In this case you forced us to get a dog right? You might then have an internal link and then that led to something else and then ultimately you have an impact which is in this case the bad thing that happened as a result of the plan the ultimate bad thing. Questions about that vocabulary? Yes? Something like how big or not impact? So it's a tactical and strategic question that you should ask yourself. This is a little more advanced than where we're going to talk about in here but there's something called impact calculus where we try to figure out how significant is an impact and so some things that we look at is one of the things we look at with impact is magnitude how big is it and so there's kind of a joke that in debate everything leads to nuclear war right? I got a dog and it disadvantages there was nuclear war which is a huge magnitude right? Nuclear annihilation terrible but another factor in impact calculus that we use is probability right? So I have this huge magnitude of nuclear war what is the probability that my dog is going to lead to nuclear war very very very very small so now I might have a huge magnitude but I have very low probability and then the last that we look at often is timeline like how soon is this going to happen so very very big magnitude but very low probability and probably way off on the timelines and not the greatest impact for this one. On the other hand if we're bombing ISIS there's probably a higher probability that that leads to nuclear war than me getting a dog leading to nuclear war so that I might want to go for a big magnitude when you're talking war and peace you're probably going to have big magnitude impacts.  So is this framework for account arguments would you use that for an advantage? You could use it for an advantage as well an advantage of a counterplan an advantage of a counterplan or if you're affirmative when I gave you the traditional model of a affirmative structure it has this exact for the advantages as well the more advantage based model incorporates harms and solvency into this substructure but this is the traditional model of either a disadvantage or an advantage the only difference is uniquely there was something wrong before the plan that led to something good and an advantage or uniquely there was something bad before the plan or we have something good before the plan that led to something bad and a disadvantage.  I'm going to go back there. Yeah, yeah. Do you have an idea of what this band is doing? What do we call it? So far, we've been working with them. We've been working with them. We've been working with them. We've been working with them. So this is the hopelessness that's going to happen. So we get a few high-level jump tapping. We get a few high-level jump tapping. I'm just thinking about what ideas we should have. Just talking to you. So I think that it's really fun. There's one that you want to think about. You actually have about six internal lengths. Is that a story? If I can pull out the first internal length, does any of you ever get to your impact of something? You got it. Yeah. So you want to have it so you would turn a length.  Of course not. Because now you've got six different names. You can be called a barge. But then you sit with the idea that the last two lines are just actually on the front page. So maybe it's something that I think is a bit ominous and I'm experiencing it for my financial work at the end. Before I'm stressed out, because I'm always spending my time worrying about the first two years. You see the financial, what would we call it, real estate business, how do you figure it out? You need a proper one. Hi people. It's really good for us. I love the presentation. It's great to be here. I know that the dog will live more. It's just possible that it's more specific and it's not very intuitive. Well the length is good about the internal length. It's the dog's channel though. So the length is good. One internal length changes. It's one of those things where you can't make the constant scale that it is, but it's really not that one constant scale. We've got the dog. And then the dog's induction. We've got to get the dog before we ever get the dog's induction. And then what's the impact of that? There you go. There's the dog's induction. You can come here. You can come here. You can come here. What's going on? What's going on? Are you having trouble? I'm having trouble. I'm having trouble. Why are you having trouble? The dog is alone. The dog's is a little older. I'm having trouble. The dog's is a little older. I'm having trouble. The dog is so old. It's about time. Okay, well, let's watch me for it. What's your, what's your, what's the, what's the time? Okay, well, let's pick one of those, like, I should say, like, too much time, right? Because I'll just waste too much time on this one. Okay, so taking my time, like, is wasting my time. Right, so, before we ever got the dog, did I have a lot of free time? Yes, I had a lot of free time. I had a lot of free time. I had a lot of free time. Then the link is, what happened? What's the plan? What's the simplest plan possible? What's the plan today? No, what was the mandate of the plan? No, what was the mandate of the plan? We got a dog, that's my life. Right, the link is the, oh, we're getting a dog. Then what happens? Then I lost all this free time, right? And then why is that bad? Yeah, so maybe I'm not as happy, right? Yeah, I'm not as happy as I'm stressed out. So the link is, what is the plan change? And then the internal link is what happens as a result of that change in the plan. So you can have, like, six different disadvantages which you want to do this whole structure for each one. Yeah, so you have a time limit, you have a deadline, they have to poop one over their hair, right? And now all of a sudden you have four disadvantages about why this is a bad thing, you know? So let me do a side of the thing. No, I'm not a person trying. I'm not a person trying. I guess we get a dog. Let's see if we can compare these and come up with one. Let's see if we can come up with one that we can use as a class example. So first out of the disadvantages they're willing to share. What's a bad thing that's going to happen as a result of this? Oh, you know I want to use this example. Yes.  Oh, yeah. This is my favorite disadvantage. My timeline interest is poop. I just like to say the word poop. I think it's funny. My sister once challenged me when I was a kid, can you say poop without laughing? And I couldn't, you know. It just makes me laugh every time. All right, so that's my timeline. My timeline is poop. Okay, so before we ever got the dog, what's my uniqueness story? What was my life like in terms of dog poop? Don't exist. Don't poop. We had no poop. What happened? What did we change? What did we plan to do? We got a dog. We got a dog. What happened as a result of getting a dog? Lots of poop. Poop? Yeah. Dog equals poop.  And what's the impact of that? Ultimately, why is that bad? What did it do to my life? Increase time cost. Okay, so I've spent a lot of time and money on poop. Nuclear war. No, we didn't get to nuclear war. Does that make me happy? No, traumatized. Let's go. My happiness went down. Increase in liability. Why? Tell me more.  And infections. Quarantine. We have the increase, likelihood of infections. Resentment towards the dog. Domestic violence. Resentment. There's probably more impacts than you need. I would choose maybe a couple of these. I wouldn't put all of these impacts here. But yeah, you're getting the idea, right? So, it looks kind of weird and clunky, but it makes sense, right? Like, what are we going to call it? What was going on before? What changed? Would that lead to? Why is it bad? Okay. We're going to call this poop.  Then we got a dog. That dog started pooping, and now because of that, we spent time and money to clean it up.  We have one more. We're going to want to do this one more time and walk through it. Someone else has a different disadvantage that maybe we can walk through. Waste of time. Okay. We have tagline, waste of time, weakness. More free time. I used to have free time. What's the link? Got a dog. Each disadvantage should be its own separate argument focused on one particular bad thing that happens. But you can have lots of disadvantages. In fact, as a negative, you should have a lot of disadvantages. There are these other types of arguments that we'll spend a little time talking about. Disadvantages are your bread and butter for a negative. This is your go-to argument, is that we're not going to do the plan because it causes bad things. So internal link. Then what happened? That's a result of getting a dog.  Okay, but before I never got it, that's probably going to be an impact. So if it's wasted time and I had free time and now I got a dog, then what happened? My time has taken up.  Which led to what sort of impacts? Maybe I'm less happy? Yeah. Anything else? There's not a dog. Maybe I lost friends because they all hate my dog too. All right. I'll be free time. Yeah. Okay. That's time to clean up poop. That might be good. I might turn that around. Okay. So then, here's the next thing. It's case attacks. And so you might want to, in fact, you do want to leave yourself some time, not just to talk about your negative arguments. Sometimes these are called off-case arguments, right? Affirmative made a case and we call all the affirmative arguments the on-case arguments. And then when negative comes up with their own arguments, we call those off-case arguments. You might want to attack the case, right? You may want to go after their advantages and disadvantages. And also, when you're affirmative, you're going to want to attack these disadvantages, right? You don't want to let these stand. So what was our, did anyone remember what our advantage was? The one of our advantages was when we were poor at the dock? Security. Okay. So let's just quickly do a full advantage. So we have a tagline of like security, right? So before our harm scenario was we live in a bad neighborhood rate, because we've got a dog, the internal length is the dog, makes us feel more secure. The impact is that maybe I feel safe and be one of our advantages. So now, I'm negative. I don't want this advantage to stand. I don't want affirmative to win this argument. So I have there under case attacks, you can take up stock issue, like an advantage. And there are kind of four levels of things that you can do to this. Each one is better. So the first one is you can just ask a question about it, right? Maybe I can say, are you really going to feel safe with that dog? Which is better than saying nothing about this advantage. But it's not that strong of an argument, right? I'm just questioning it. The next thing I can do is I can try to mitigate it, right? And I can try to lessen it as another word for mitigate. So I can say, you're going to get a dog, but it's still a bad neighborhood. So you're not going to feel that safe. You're only going to feel a little bit safer. So now this is not quite as strong, but I haven't destroyed it. But still, better than just questioning it, better than saying nothing is to kind of lessen the impact. You're only going to feel a little bit happier. The next thing I can do is I can try to take it out. I can try to show that something in here doesn't happen, right? So maybe I can show that the impact never happens. That the dog you've got was a Chihuahua. That doesn't make you feel any safer. And you're not going to be happy because they are ugly, yippy little... I'm sorry. And so it doesn't lead to any safetyness or happiness. So if there is no impact to the argument, why am I going to do it, right? And then the last thing I can do, and the best thing that you can do to an argument is you can turn it, right? And so if you can show that something in here, either the link actually goes the other way or the impact actually goes the other way, then I can take this advantage and literally turn it into a disadvantage, right? Because I can take your logic and show it actually supports the other side. And I can say, so I can try to turn this impact.  Or your dog might really get the people.  So actually now this is a disadvantage, right? Because the exact opposite of what you said was going to happen is going to happen. I turned this advantage into a disadvantage. As a permanent, you can try to do the same thing to the disadvantages, right? You can try to turn them over into advantages. And that's the best thing to do because you're not just questioning it. You're not just saying it's a little bit less good of an argument for the affirmative. You're not saying it's not true. You're actually saying it's true and it's for me now. So now this argument, this advantage instead of being plus one for the affirmative, is minus one for the affirmative, plus one for the negative. If you just take it out, it becomes zero, right? Not doing anything for the affirmative, not doing anything for the negative. If you turn it, now negative one for affirmative plus one for negative. So that's what you're trying to do when you start refuting these is can you steal their argument? Try to take them out at least. Never just be silent about them. Nothing else, ask a question about them. But best is if you can steal it and take it for your own. So I have you work a little bit on your own again. I kind of tried to walk through and turn this advantage, or at least try to take it out. Can you, you're now back on the affirmative, right? Can you take one of these and try to respond to it, to refute it as if you were affirmative? What do you say? What do you go after? Do you go after the uniqueness? Do you go after the link? The impact? And how can you take it and either take it out or maybe even turn it to work for your assignment? Talk about it for a little while, see what's come up with. I mean, you could just take all the food and make it first. Tell them it's very rich. We never had it. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich. It's very rich.  And your production is more or not? Because you're not allowed to do that.  Maybe. So ultimately, the impact of the money, the impact is I make money off of my plummeters.  Okay, that's great if I like it. For a term, you would have what we call an impact term, right? I said we're going to lead to bad impacts. It actually leads to a good impact. If you were to argue that it's not a waste of time because that's a certain amount of money and it helps you get your future needs. Because you're very able to search for it. Maybe. Or maybe you could just say like, you know what, having less free time is actually good. I was so bored with all of my free time and now I'm being productive and I'm actually happier because I'm not just sitting on my couch and you know watching the movies or you're here. What's fine exactly. So it's actually like a lot of free time all of these school hours the actual lots of free time actually makes me happier. It's not taking away time to do it. It's not taking away time to do it. It's not taking away time to do it. It's not taking away time to do it. Yeah, the timing to press the one great classic round of the day is it possible to do it? It's not important. I think if you go, turn around at any of these arguments and how you have the policy how you have a policy that doesn't interfere with your mind. Actually, the timing does, but anyway, it's ok. It's not your best free time So maybe people will say, yes it's true I had free time before, yes it's true I got a dog, yes it's true I had lots of free time, but actually the impact of that is that it made me happier because now I'm more productive, I'm now doing things, and so I'm enjoying that life, and maybe really when I had free time I wasn't doing my level up. So what you're doing now is you're turning the impact around, right? I said, lots of free time, and maybe it makes me feel less happy. I could say no, but actually lots of things for the impact of that is what it's for kids. So they're actually the first people to go in and it's the argument you can say, but what we still do is a left turn, a good turn, maybe it's for a lane, right?   I'm not a fan of the show, but I did the three times. I'm saying that's true. But what I'm saying is the impact on that is even better. I'm saying that it's a lot better. So this is going to come in a few months. I don't think that's going to happen. We're going to talk about the next issue. We're going to talk about the next issue. Controls, minds, dogs. We have lots of dogs. And if you get a dog, you're going to get to taste it. Sit. Sit. Sit. Sit. Sit. Sit. Sit. All right.  Yes. So, talk to some of you. What are we going to do? What can we... What's our commitment? Can we go after? Where is it vulnerable? Yes. Ways of time it could be vulnerable on the impact. Yes. Tell me why. You can actually be using your time more productively and be exercising and in like 101 donations you can potentially find love. Yeah, so what I'm doing is I'm accepting the entire premise up until the impact. Yes, that I had free time before. Yes, I got a dog. Yes, it led me to a lot of free time. But that didn't make me less happy, it made me happier.  So actually this is the impact is for the affirmative, not for the negative. And so I have turned this all around and now the affirmative is going to have to come back and prove why this actually makes me unhappy and not happy. But for the moment I have turned this around to the other side. And you can do that in many different ways, right? You can try to turn the links or the internal link. You can try to show that this was never true to begin with, that the uniqueness story is not true. And that regardless of whether I get a dog or not, the same thing is going to happen. So there are many ways to turn these around but you should be thinking about can I take the other team's arguments and steal them for myself. In the last 10 minutes and counter plants get a little bit complicated and do you want to just give you a little tiny itsy bitsy bit about a counter plant because maybe you accept the harms, right? So maybe you agree there is a problem with the status quo. And so you're negative and you're like, how do we do have to do something? We can't just say do nothing, like negative instinct always is to do. We have to do something, there are significant harms. The first SH is true. The SH and SHTSA, there are significant harms. But you can say the plan is no good. We should do something else. The risk in that is that you accept the harms. Once you say we should do something else, you no longer get to say do nothing, right? So you give up that ground. But maybe do nothing is a really bad ground to be standing on.  So what can negative do different?  What does negative say? Get a cat. Get a cat. Always the first counter plan. So there are good things and bad things about that potential as a counter plan. And if you look towards the bottom of counter plan, it has all those little things that a plan has that we skipped over. But look at F and G. You want to show competition and or a net benefit. In other words, the best kind of counter plan is one that is mutually exclusive from the plan. That you cannot do both the plan and the counter plan.  Yeah. Yes. So there is no direct competition between those two. They are not mutually exclusive.  So guess what the affirmative will say? Do both. Do both.  Right? And so the affirmative can then steal your counter plan. But you could still do the cat counter plan because what you might say is that there is a benefit to doing the counter plan alone. That the counter plan and the plan don't get. In other words, give me one second and I'll let you ask your question. In other words, you can say plan, get a dog. Counter plan, get a cat. Now the affirmative says do both. And the negatives response is there are reasons why it's better to get a cat than to get a cat and a dog. And if the reasons to get a cat alone are better than to get a cat and a dog, then the counter plan can still win. But ideally you want the best kind of counter plans are ones that are mutually exclusive. In other words, let me talk about a different resolution. If my plan is let's raise taxes. Maybe we're going to raise taxes to fund schools. And the counter plan is let's lower taxes. Can I raise taxes and lower taxes at the same time? No. So those two are mutually exclusive. Right? So those two compete without me ever. There's no way the affirmative can get up here back and say let's do both. Let's raise and lower taxes. Yeah. You can't do that, right? So they're mutually exclusive so they directly compete. But even ones that aren't mutually exclusive might compete on net benefits. There might be something more beneficial to just getting a cat than getting a cat and a dog. You have your hand up first. I was just trying to think of names. Maybe, again, they're not necessarily mutually exclusive. I can get a dog and volunteer at a shelter. But again, there might be some unique benefits to volunteering at a shelter by itself that I wouldn't get by getting a dog and volunteering at a shelter. Here's your hand up and then here. In the back and then up here. If you're problem with your school example there, you said to raise revenue for schools. Would you then have to prove why lowering taxes would raise revenue for schools if that was your counterplan? Perhaps, yeah. But you want, well, maybe raising revenue. Maybe let's just get rid of schools. The reason I wanted to show that is just that it's, yeah. So the counterplan should still address the harms, whatever the harms are. But it should also not do, ideally it doesn't do something that can be done at the same time as a plan. And actually, if you look at your schedule, there's an entire advanced session on advanced counterplan theory because it gets really into the weeds. So I'm just giving you the very basics on it. Yes? I was going to say, so a counterplan could be, for instance, a security system. Yes. But then I can get a security system and a dog, but maybe there are reasons why getting a security system alone is better than getting a dog and a security system. That's where you assert them. Because somebody's strong, right? Yeah. What? That would have to be really strong because it sounds kind of hard to do. Yeah. Well, you could have a motion asserted. Which is why counterplants are risky, right? Sometimes it's better to just say, let's do nothing. Right? That's always negative. Let's do nothing. There are too many disadvantages. Let's just keep the way the things they are. But sometimes keeping the way the things they are is riskier than doing something. And then in those cases, you want to think about maybe doing a counterplan.  When does the negative have the opportunity to tell them that we can get the cats, like getting a cat alone is better? Okay. So here's what happened, right? The first speech of the debate is the Prime Minister's speech. Prime Minister's plan is get a dog. Then the leader of opposition speaks, right? And the leader of opposition says, get a cat. Then the member of opposition gets up and says, let's get a cat and a dog. And then the member of government, excuse me, the member of government gets up and says, let's get a cat and a dog. Then the member of opposition gets up and says, ah, ha, ha. No, getting a cat alone is better than getting a cat and a dog. So in words of the fourth speech before we ever get to why getting a cat alone is the best option, but that would be the natural progression through those plans and counter plans. Yeah. Well, the affirmative is, instead of saying let's get both, can we just go straight to like, no, cat or dog? Yep. Yeah. Yeah. So it's the easiest thing that they can do is say, let's do both. But if they want strategically to decide, like, screw that, I can just win. The dogs are better than cats. Then it's just plan versus counter plan. That's when it addressed the security problem. There you go. And that's maybe why the plan is better, right, than the counter plan. That's okay. Make sure that. So like I said, we could spend an entire 45 minutes just on the intricacies of counter plans and in some of the more advanced sessions they did, because it gets really complicated, right, because going through just four speeches to get to the point where I get to say, you know, cats are better than a cat and a dog. It gets really complicated. But just know that that is another option that you have as a negative is that you can say, let's do something else. It's risky, but sometimes worth the risk. The last thing that's there is topicality, which is if you feel like the B affirmative has said something that doesn't actually support the resolution. If the resolution is let's attack ISIS and they bomb Ukraine, it's their plan. You can say like, look, you're not even supporting the resolution. You are not topical. And one of the things in the shits up, topical plan says that your plan must support the topic of the resolution. And so I won't, again, there was a whole advanced session on topicality. But if you can just say like, look, you're not actually supporting the resolution. That's a reason alone not to vote affirmative. Affirmative must, has a burden of proof, has a proof that we should accept the resolution. If their plan doesn't support the resolution, they haven't met that burden of proof. Go get lunch. Thank you. For lunch, and then you come back and you debate. So when you're in the anti-trade size of the desk, it's up to you to vote. Yeah, but certainly, like if someone, if the other team has set the date for your advantage, or if there's an advantage, your next speech, you want to tell us, you know, that's not true here, why you haven't actually voted. Because if you never respond to it, then I'm going to assume it's true. Yeah, so you can play later. And it does one thing, just put it in your plan. Yeah, that's all over. After lunch, where are you going? After lunch, you go back to the auditorium, and that's where they will tell you where the debates are going to be. Did you read through the video? Nah, I don't know. That's my bra, snicker bar. Snicker bar? Are you going to pop tartars? No, and pop tartars. Who actually did it? Someone who did it? Shitsa? Yeah. And then for the opposing, then you have your tagline, and you have this, and so forth. When you flow it, is it going to be break up your shitsa across and then be very interesting? So usually what I do is I put the different speeches across and then the arguments down. And usually I put affirmative on its own piece of paper, maybe multiple pieces of papers, and then all the negative arguments on another piece of paper. Some people put every single argument on its own piece of paper, one paper for harms, one paper for advantages, one paper for disadvantages, one for counter-plan. And then as those arguments happen in time across each speech, then you flow them across the piece of paper. So this is something I have to do to get my, because I know there's like recommendations that help. Yeah, yeah. And it's okay to fail. That's what today is all about. Oh, and it's so hard when your nature is like to get it as right as you can. Yeah. The only way you learn how to swim is by swallowing some water. Swallow lots of water. See, you might swallow some water today. Okay. That's all I found out. Thank you. Sure.


Welcome traders to another tickmail chart with me, Patrick Manley. Want to draw your attention to a developing opportunity? We're looking at the cash S&P 500. We're on the intraday hourly timeframe. Had a nice move back up to print new highs for all-time highs at 41.96. I'm looking now for a three-wave corrective pattern to develop versus the swing high here at 41.85. Looking for a test of the equality objective to 41.64. Also got the weekly pivot coming in there and the 50% retracement of Friday's advance. Watch for bullish reversal patterns here to set long positions, initially targeting a move up to 42.25. We can extend through there up into monthly range resistance at 42.47 and then be on there into the new weekly range resistance at 42.65. As always, traders, plan the trade, trade the plan, and most importantly, manage your risk. Until next time, thanks very much.


Hello friends, I am Sanjay Gupta. In this video, I am going to demonstrate you the use of default and parameterize constructor in C++. Before starting, you can note my information. You can connect with me by following these details. You can download my app Techimus based on programming available on Google Play. You can search my channel on YouTube by my name Sanjay Gupta. You can open my channel and you can subscribe it where various programming related videos and playlists are available. You can improve your programming skills by watching these videos. Now coming on to the topic. You can see here a code is implemented which is having only default constructor implemented here. So first time demonstrating you the use of default constructor. Then I will be explaining how you can use parameterize constructor also. So first statement is header file inclusion. Then STD namespace is used. Then class complex is defined. Here R and I are attributes. Then in public section default constructor is defined. R is initializing by 15 and I is initializing with 10. Then read function which will display enter real and imaginary on console. Then values will be stored inside R and I using scene. Then next print function is defined which will display real and imaginary values on console. After termination of class I have created two objects C1 and C2. And after just after their creation I have printed them using print function call. So let's see what happens in case of default constructor. You can see both are printing same values 15, 10 and 15, 10. This is because we are using only default constructor. Now there is a question. Can we assign different values to different objects while they are created? Like a 5 and 10 in C1 and 10 and 20 in C2. Answer is yes with the help of parameterized constructor. Now I am defining a parameterized constructor. You can see its definition. It is receiving two arguments inside A and B. A is assigned into R and B is assigned into I. So this is parameterized constructor. Now I am creating two more objects C3. I am assigning 5 and 10 inside it. And C4 I am assigning 30 and 40 inside it. Similar to C1 and C2 I am first printing C3 and then printing C4. So C1 and C2 are initialized with default. So they will print 15 and 10. Whereas C3 and C4 are initialized with 5, 10 and 30, 40 respectively. So now I am executing this code. You can see the result. 15, 10, 15, 10 through C1 and C2. 5, 10 through C3 and 30, 40 through C4. So friends, if you want to initialize objects with different values, then you can prefer parameterized constructor in place of default constructor. And here I am implementing two constructors. One is default and second one is parameterized constructor. Name of both the constructors are same as class name. As you have to remember that if we are implementing more than one constructors in a class, then this concept is known as constructor overloading. It is similar to the function overloading concept which is available in C++. So whenever we want to implement constructor in class, we have to use same name as name of class. So if you define two constructors in a class, then their name must be same, but their argument should be different. So you can differentiate how a multiple constructor will be working in C++. Now I am also implementing one more parameterized constructor like this. This is also a parameterized constructor, but it is having only one argument. So this way I have implemented three constructors. Default, single parameterized and double parameterized constructor. This parameterized constructor A will be assigned into R and I will be initialized each time by 10. So it is mixture of parameterized and default. For R it is parameterized and for I it is default constructor. And I can call it by like this. So C3 is calling single parameterized constructor and C4 is calling double parameterized constructor. Now I am executing it. You can see the output this time C3 is printing 5 and 10 because I have initialized it with by 10. So this way I have implemented default and parameterized constructor in C++ class. Notice that only one default constructor is permitted, but in case of parameterized constructor, you can define more than one parameterized constructor because we can pass arguments in parameterized constructor. Now notice one more thing. If I comment this default constructor and if I only define parameterized constructor, then it is also possible. But in this case, this statement will show an error message. You can see it here. It is showing errors here because default constructor is not defined for these two objects. So if I make comment these statements, then our program will be executing successfully. You can see now it is printing correct results because I have not defined default constructor and I have not created any object for default constructor. So if you want to define only parameterized constructor, then you have to create the objects for parameterized constructor only. You can't create objects which are calling default constructor. And vice versa is also possible. If you are creating only default constructor, then you can't create objects which are calling parameterized constructor. So I hope you have understood the difference between default and parameterized constructor very well. I have focused upon all the issues which are applicable in both the cases. If you want to watch more programming related videos, you can search my channel on YouTube by typing my name Sanjay Gupta. Here various programming related videos and playlists are available. You can improve your programming skills by watching these videos. Don't forget to subscribe my YouTube channel. Thank you for watching this video.