I'd use 'on' simply because a weekend is 2 times (or even more). 'At' is more specific, to get a smaller sized place or shorter time, While on/in are employed for for a longer time durations or more substantial Areas. "Let us eat at an Italian cafe at 9pm" in opposition to "Let's eat in downtown on Friday".Also, considering American reasoning, "on"